出现此错误可能是什么问题?我正在尝试使用静态方法从扩展类访问受保护的字段。
class TEST {
name: string;
protected reter: string = 'show retry';
constructor(name: string, public age: number) {
this.name = name;
}
}
class TESTING extends TEST {
constructor(public name:string, public age:number) {
super('sd', 12);
this.name = 'indraraj'
}
static getReter() {
return this.reter;
}
}
let test = new TESTING('indra', 12);
console.log(TESTING.getReter)
console.log(test)
答案 0 :(得分:1)
因为getReter()
是静态方法。
这意味着它是由类构造函数(i.e TESTING.getReter()
)而不是实例访问的,因此-不知道this
,这是对 instance ,而不是类构造函数本身。
删除static
表示法,您将可以访问。
有关更多信息,请关注此帖子:https://www.typescriptlang.org/docs/handbook/classes.html#static-properties