在 Javascript 中是否有更直接的方法来实现此目的?
Is there a more direct way to achieve this in Javascript?
我有这样的遗产:
class Parent {
some_object_property = ["some_object_property_depending_on_initialization"];
constructor() {...}
}
class Child extends Parent {
some_object_property = [...super.some_object_property, 'child_property']
}
有没有办法让 Child
从 Parent
继承和扩展对象 属性 some_object_property
?
我知道我可以通过getter
和setter
达到最终结果。有没有更直接的方法?
你是这个意思吗?
class Parent {
constructor() {
this.someProp = ['someprop test', 'something else'];
}
}
class Child extends Parent {
constructor() {
super();
this.someProp = [...this.someProp ,'added child prop'];
}
}
let myChild = new Child();
console.log(myChild.someProp);
It produces an error saying "super is not an identifier recognizable".
是的,您不能在 class 字段初始化程序中使用 super。要么将该行放在它所属的构造函数中(如@DannyEbbers 的回答),要么只使用 this
关键字 - 它同样好,无需在此处使用 super
:
class Parent {
some_object_property = ["some_object_property_depending_on_initialization"];
}
class Child extends Parent {
some_object_property = [...this.some_object_property, 'child_property']
}
this.some_object_property
将引用在您用新值覆盖父构造函数之前由父构造函数初始化的实例 属性 - 它的运行就像写入构造函数中一样。
我有这样的遗产:
class Parent {
some_object_property = ["some_object_property_depending_on_initialization"];
constructor() {...}
}
class Child extends Parent {
some_object_property = [...super.some_object_property, 'child_property']
}
有没有办法让 Child
从 Parent
继承和扩展对象 属性 some_object_property
?
我知道我可以通过getter
和setter
达到最终结果。有没有更直接的方法?
你是这个意思吗?
class Parent {
constructor() {
this.someProp = ['someprop test', 'something else'];
}
}
class Child extends Parent {
constructor() {
super();
this.someProp = [...this.someProp ,'added child prop'];
}
}
let myChild = new Child();
console.log(myChild.someProp);
It produces an error saying "super is not an identifier recognizable".
是的,您不能在 class 字段初始化程序中使用 super。要么将该行放在它所属的构造函数中(如@DannyEbbers 的回答),要么只使用 this
关键字 - 它同样好,无需在此处使用 super
:
class Parent {
some_object_property = ["some_object_property_depending_on_initialization"];
}
class Child extends Parent {
some_object_property = [...this.some_object_property, 'child_property']
}
this.some_object_property
将引用在您用新值覆盖父构造函数之前由父构造函数初始化的实例 属性 - 它的运行就像写入构造函数中一样。