在派生类中访问super
的{{1}}值似乎不起作用:
getter
如何正确覆盖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
值?
答案 0 :(得分:8)
我不一定赞同你继续采用这种方法,但是......
class Bar extends Foo {
public get Message():string {
return Object.getOwnPropertyDescriptor(Foo.prototype, 'Message').get.apply(this) + ' World';
}
}
原型继承并不能使这一点特别简单。