【发布时间】:2019-08-09 06:08:00
【问题描述】:
假设我有 3 个类 Child、Parent 和 Grandparent 按层次结构连接如下:
class Grandparent {
set myField(value) {
console.log('Grandparent setter');
}
}
class Parent extends Grandparent {
set myField(value) {
console.log('Parent setter');
}
}
class Child extends Parent {
set myField(value) {
//I know how to call Parent's setter of myField:
//super.myField = value;
//But how to call Grandparent's setter of myField here?
}
}
如何在Child 类的设置器中调用Grandparent 的myField 设置器?
我对 setter 尤其感兴趣,而不是方法。此外,最好不要更改 Parent 的 Grandparent 类。
我不明白使用super 是如何实现的,因为它只引用Parent 类,以及使用Grandparent.prototype.<what?>.call(this, ...) 之类的东西,因为我不知道在原型中究竟要调用什么。
有人对这个案例有什么建议吗?
提前致谢!
【问题讨论】:
-
如果没有明确的引用,就不能调用它。
-
@GetOffMyLawn 感谢您的想法,但我的问题特别是关于 setter,它有一个特定的问题,它与方法的实现方式不同
标签: javascript ecmascript-6 es6-class