Jud*_*her 6 javascript inheritance overriding typescript
在派生类中访问a的super值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"
Run Code Online (Sandbox Code Playgroud)
如何正确覆盖getter并使用该super值?
我不一定赞同你继续采用这种方法,但......
class Bar extends Foo {
public get Message():string {
return Object.getOwnPropertyDescriptor(Foo.prototype, 'Message').get.apply(this) + ' World';
}
}
Run Code Online (Sandbox Code Playgroud)
原型继承并不能使这一点特别简单.