我正在尝试覆盖基类的属性,并从覆盖(TypeScript playground)中调用该属性的基础版本:
class A {
public get a(): number {
return 1;
}
}
class B extends A {
public get a(): number {
return super.a + 1; // error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword.
}
}
但是TypeScript编译器返回错误:
错误TS2340:仅基类的公共方法和受保护方法是 通过“ super”关键字可以访问。
如何覆盖基类的属性并从覆盖中调用该属性的基础版本?
答案 0 :(得分:0)
尝试超级['a']。不允许使用super.a。请参阅此链接: https://github.com/Microsoft/TypeScript/issues/4465