Erreur lors de la création d'une instance
importance: 5
Voici le code avec Rabbit
étendant Animal
.
Malheureusement, des objets Rabbit
ne peuvent pas être créés. Qu’est-ce qui ne va pas ? Répare-le.
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);
C’est parce que le constructeur de l’enfant doit appeler super()
.
Voici le code corrigé:
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 maintenant
alert(rabbit.name); // White Rabbit