インスタンスの作成時にエラー発生
重要度: 5
Animalを継承したRabbitのコードはこちらです。
残念ながら、Rabbitオブジェクトは作成できません。何が問題でしょうか?修正してください。
class Animal {
constructor(name) {
this.name = name;
}
}
class Rabbit extends Animal {
constructor(name) {
this.name = name;
this.created = Date.now();
}
}
let rabbit = new Rabbit("White Rabbit"); // Error: this is not defined
alert(rabbit.name);
それは、子コンストラクタがsuper()を呼び出す必要があるからです。
修正されたコードはこちら
class Animal {
constructor(name) {
this.name = name;
}
}
class Rabbit extends Animal {
constructor(name) {
super(name);
this.created = Date.now();
}
}
let rabbit = new Rabbit("White Rabbit"); // ok now
alert(rabbit.name); // White Rabbit