Помилка створення екземпляра
важливість: 5
Ось код з Rabbit
розширює Animal
.
На жаль, неможливо створити об’єкти 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("Білий кролик"); // зараз добре
alert(rabbit.name); // Білий кролик