如何在子类中访问 getter 的超类值
How can I access the superclass value of a getter in a subclass?
访问派生类中getter
的super
值似乎不起作用:
class Foo {
private _message:string = "Hello,";
public get Message():string {
return this._message;
}
}
class Bar extends Foo {
public get Message():string {
return super.Message + " World";
}
}
var snafu:Bar = new Bar();
document.write(snafu.Message);
// Expected: "Hello, World"
// Actual: "undefined World"
如何正确覆盖getter
并使用super
值?
我不一定赞同你继续使用这种方法,但是......
class Bar extends Foo {
public get Message():string {
return Object.getOwnPropertyDescriptor(Foo.prototype, 'Message').get.apply(this) + ' World';
}
}
原型遗传并没有使这变得特别简单。
相关文章:
- 理解es6-mixin超类约定
- 可以“;超级“;可以在子类的方法内部使用,在不直接引用的情况下调用相应的超类方法
- 调用子类函数时调用的超类函数
- 与超类的依赖关系
- 如何在javascript中从超类扩充方法
- javascript对象继承-子类和超类
- 调用Class.prototype=new MyClass()是否确保每次都重新实例化超类
- BackboneJS-可能回调多级继承的超类
- Javascript继承:从超类的方法设置子类的属性
- 使用 Javascript 创建一个超类(继承)
- JavaScript 原型超类
- 在主干中调用超类方法
- Javascript继承,可以访问“超类”中的*所有*方法
- 如何使用 sinon 存根/模拟从“超类”复制的依赖项方法
- 有没有一种方法可以根据Coffeescription中的超类值在原型上定义对象
- Javascript:从返回超类实例的函数中设置子类原型的好处
- Javascript原型链接超类构造函数和方法调用
- 我如何在主干创建超类
- 你能转换超类吗?
- 如何在子类中访问 getter 的超类值