JavaScript ES6 のサポートclass
などconstructor
は以下のとおりです。Object
ただし、派生クラスのコンストラクターに入るのではなく、基本コンストラクターでnew が作成されることを指定します。なぜこの要件が必要なのですか? クラスでコンストラクターを開始するときに作成し、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
}
}