在 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']
}

有没有办法让 ChildParent 继承和扩展对象 属性 some_object_property

我知道我可以通过gettersetter达到最终结果。有没有更直接的方法?

你是这个意思吗?

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 将引用在您用新值覆盖父构造函数之前由父构造函数初始化的实例 属性 - 它的运行就像写入构造函数中一样。