ES6类:我怎么得到这个?属性在基类构造函数中分配给派生类原型

ES6 Classes: How do I get `this.foo` property in base class constructor assigned to derived class prototype?

本文关键字:构造函数 基类 原型 派生 属性 分配 ES6      更新时间:2023-09-26

我遇到的问题是,当类B实例化时,如果我在B上传递options.foo, this.foo分配给类A而不是类B。

我想创建一个基类(在这种情况下是类a),将this.foo分配给派生类原型(在这种情况下是类B)。

class A {
  constructor(options = {}) {
    this.foo = options.foo
  }
}
class B extends A {
  constructor(options = {}) {
    super(options)
  } 
}
var b = new B()
console.log(b.prototype.foo) // undefined

this.foo是实例属性,它被分配给b。它永远不会被分配给.prototype对象(它将在实例之间共享)。

如果您希望将属性分配给类,您应该查看static关键字。