JavaScript ES6 支持class
,constructor
如下所示。但它指定 newObject
在基构造函数中创建,而不是进入派生类的构造函数。为什么这个要求是必要的?它可以在类中开始构造函数时创建Derived
,然后传递给Base
类进行初始化吗?
class Base {
constructor(){
// implicit call to Object.create(new.target.prototype)
}
}
class Derived extends Base {
constructor() {
console.log(this); // complain this is not defined
super();
console.log(this); // it is fine to access this here
}
}