gpt4 book ai didi

javascript - ES6 |更改B类中A类的数据?

转载 作者:行者123 更新时间:2023-12-03 02:21:35 25 4
gpt4 key购买 nike

我的问题是我已经有一个巨大的代码文件,因此我尝试将其部分放在不同的文件/类中以获得更好的概述。所有新的独立类都必须从名为 Person 的主类获取或设置数据(在本例中),那么我如何管理呢?

这是我的问题的一个小例子。

class Person {
constructor(name, age) {
this._name = name
this._age = age
}

entryPoint() {
ClassTwo.someEditFunction()
}
}

class ClassTwo {
static someEditFunction() {
// here I wanna edit this._name from Class Person (without returing(?))
}
}

let person1 = new Person('John', 15)
person1.entryPoint()

最佳答案

不确定这是否真的是构建代码的好方法,但您可以将 ClassTwo 函数 bind()Person 的实例code> 得到你想要的。

class ClassTwo {
static someEditFunction() {
// here I wanna edit this._name from Class Person (without returing(?))
this._name = "changed"
}
}

class Person {
constructor(name, age) {
this._name = name
this._age = age
}

entryPoint() {
// ClassTwo.someEditFunction.bind(this)()
// call() is a better fit
ClassTwo.someEditFunction.call(this)

}
}



let person1 = new Person('John', 15)
person1.entryPoint()
console.log(person1)

关于javascript - ES6 |更改B类中A类的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49134497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com