我使用nodejs 6.10.3,代码如下所示,我在es6类继承方面遇到问题。
'use strict';
class Foo {
constructor() {}
hi() {
console.log('foo.hi');
this._hi();
}
_hi() {
console.log('foo._hi');
}
}
class Goo extends Foo {
constructor() {
super();
}
hi() {
console.log('goo.hi');
super.hi();
}
_hi() {
console.log('goo._hi');
}
}
let goo = new Goo();
goo.hi();
console.log 输出是这样的。
// goo.hi
// foo.hi
// goo._hi
但我需要这个。
// goo.hi
// foo.hi
// foo._hi
我该怎么办?
最佳答案
super
将初始化 this
'use strict';
class Foo {
constructor() {}
hi() {
console.log('foo.hi');
this._hi();
}
_hi() {
console.log('foo._hi');
}
}
class Goo extends Foo {
constructor() {
super();
}
hi() {
console.log('goo.hi');
Foo.prototype.hi();
}
_hi() {
console.log('goo._hi');
}
}
let goo = new Goo();
goo.hi();
关于javascript - es6 super prop 方法调用 super other prop 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785273/