我有一个BMW类,它扩展了Car类并重写了printModel方法:
class Car{
constructor(model){
this.model = model
}
printModel(){
console.log(this.model)
}
}
class BMW extends Car{
constructor(model, color){
super(model);
this.color = color
}
printModel(){
console.log(this.model, this.color)
}
}
let bmw = new BMW('F6', 'blue')
bmw.printModel() //will print : 'F6 blue'
bmw.super.printModel()// expected: 'F6' but not working
如何在此BMW类的实例上调用类的超级方法?
最佳答案
在类的上下文之外无法引用超级实例。如果确实必须从类外部使用超级实例中的方法,则可以自己调用该方法:
Car.prototype.printModel.call(bmw);