gpt4 book ai didi

javascript - 如何从对象访问默认类属性?

转载 作者:行者123 更新时间:2023-12-01 15:34:31 24 4
gpt4 key购买 nike

我有以下挑战,我没有成功。而且我找不到遇到同样问题的人的例子。

class MyClass {
name = 'default name'
}

let instance = new MyClass();
instance.name = 'new name';

# At this point I want to be able to access the default 'name' of my class (value: 'default name')

我很好奇如何最好地解决这个问题。

最佳答案

鉴于问题中的代码完全,除非您创建一个新实例,否则这是不可能的。与

name = 'default name'

您分配给实例对象的 name 属性。然后用

instance.name = 'new name';

您覆盖了实例对象的 name 属性。 “默认名称” 不再存在于原型(prototype)链中的任何位置。

因此,创建一个新实例来再次运行类字段:

class MyClass {
name = 'default name'
}

let instance = new MyClass();
instance.name = 'new name';

const newInstance = new MyClass();
console.log(newInstance.name);

更好的模式是将默认值放在原型(prototype) 上。这样,您就可以检查原型(prototype)上的属性实例上的属性:

class MyClass {

}
MyClass.prototype.name = 'default name';

let instance = new MyClass();
instance.name = 'new name';

console.log(instance.name);
console.log(MyClass.prototype.name);

关于javascript - 如何从对象访问默认类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60691379/

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