在JavaScript中,使用以下示例代码:
class Base {
constructor() { this._val = 1 }
get val() { return this._val }
}
class Xtnd extends Base {
set val(v) { this._val = v }
}
let x = new Xtnd();
x.val = 5;
console.log(x.val); // prints 'undefined'
实例x
将不会从Base
类继承get val()...
。在这种情况下,Javascript把缺少getter的情况看作undefined。
我有很多类都具有相同的一组getter,但拥有独特的setter。目前,我只是在每个类中复制getter,但我正在重构代码,想消除冗余代码。
是否有一种方法告诉JS保留基类的getter,或者是否有一个优雅的解决方案来解决这个问题?