Chyba při vytváření instance
důležitost: 5
Zde je kód, v němž třída Králík rozšiřuje třídu Zvíře.
Naneštěstí objekty Králík nemohou být vytvořeny. Co je špatně? Opravte to.
class Zvíře {
constructor(jméno) {
this.jméno = jméno;
}
}
class Králík extends Zvíře {
constructor(jméno) {
this.jméno = jméno;
this.datumVytvoření = Date.now();
}
}
let králík = new Králík("Bílý králík"); // Chyba: this není definováno
alert(králík.jméno);
Je to proto, že konstruktor dítěte musí volat super().
Zde je opravený kód:
class Zvíře {
constructor(jméno) {
this.jméno = jméno;
}
}
class Králík extends Zvíře {
constructor(jméno) {
super(jméno);
this.datumVytvoření = Date.now();
}
}
let králík = new Králík("Bílý králík"); // nyní v pořádku
alert(králík.jméno); // Bílý králík