tilbage til lektionen

Fejl ved oprettelse af instans

vigtighed: 5

Her er koden hvor Rabbit udvider Animal.

Uheldigvis kan Rabbit-objekter ikke oprettes. Hvad er galt? Ret det.

class Animal {

  constructor(name) {
    this.name = name;
  }

}

class Rabbit extends Animal {
  constructor(name) {
    this.name = name;
    this.created = Date.now();
  }
}

let rabbit = new Rabbit("Hvid kanin"); // Fejl: this is not defined
alert(rabbit.name);

Det er fordi at konstruktøren skal kalde super().

Her er den tilrettede kode:

class Animal {

  constructor(name) {
    this.name = name;
  }

}

class Rabbit extends Animal {
  constructor(name) {
    super(name);
    this.created = Date.now();
  }
}

let rabbit = new Rabbit("Hvid kanin"); // ok nu
alert(rabbit.name); // Hvid kanin