回到课程

创建实例时出错

重要程度: 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);

这是因为子类的 constructor 必须调用 super()

这里是修正后的代码:

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"); // 现在好了 alert(rabbit.name); // White Rabbit