2 回答
TA贡献1887条经验 获得超5个赞
您需要super()在您的子类中调用,正如MDN 解释的那样:“在构造函数中使用时, super 关键字单独出现并且必须在使用this 关键字之前使用。”
class Renderable{
toHTML(){
return '';
}
}
class Intro extends Renderable{
constructor(title, pretitle, backgroundImage){
super()
this.title = title;
this.pretitle = pretitle;
this.backgroundImage = backgroundImage;
}
}
const intro = new Intro('title', 'pretitle', 'bg.jpg')
alert(intro.title)
TA贡献1827条经验 获得超4个赞
只需添加这一行
class Intro extends Renderable{
constructor(title, pretitle, backgroundImage){
super(); // Whenever you extend a class you have to call parent constructor first
this.title = title;
this.pretitle = pretitle;
this.backgroundImage = backgroundImage;
}
[...]
}
根据MDN,在构造函数中使用时, super 关键字单独出现并且必须在使用 this 关键字之前使用。super 关键字还可用于调用父对象上的函数。你可以阅读这篇文章,以获得更好的想法。
添加回答
举报