我正在学习ES6课程和对象。为了我正在制作一个示例应用程序,我发现了这个问题:
我有这个MainClass:
class App {
boot() {
console.log('app booted')
}
}
然后我有另一个类,它从第一个类开始:
class someClass extends App {
boot() {
this.update()
}
update() {
console.log('update Method!')
}
}
从someClass
我覆盖了启动方法。这很好,因为它试图调用update
mothod。
但它将update
方法作为undefined
返回。
我明白了,this
在这种情况下是App
类,因此update
中的App
未定义。
有没有办法从update
类中的boot
方法调用someClass
方法?
答案 0 :(得分:1)
是的,有。实例化一个新对象,然后在该对象上调用boot()
。例如:
class App {
boot() {
console.log('app booted')
}
}
class someClass extends App {
boot() {
this.update()
}
update() {
console.log('update Method!')
}
}
const test = new someClass();
test.boot(); // update Method!
您可以测试代码here。