我创建了一个类:
class Human {
constructor(name){
this.name = name;
}
greet(){
alert(this.name);
}
}
工作正常。但是,当我尝试从该类继承时,我有一个错误
class Person extends Human{
constructor(name, age){
super.constructor(name);
this.age = age;
}
greet(){
super.greet(this.name + this.age);
}
}
var no = new Person("Brent", 65);
我有这样的错误 - this
在Person类构造函数中使用了未初始化的。
如何正确继承,以便提醒年龄和姓名?
答案 0 :(得分:4)
要调用父构造函数,您需要使用super(…)
而不是super.constructor(…)
。此特殊super
调用会使用该实例初始化extend
ing class中的this
关键字。
答案 1 :(得分:1)
您只需在构造函数中调用super()
。