retour au cours

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