Typescript:从实例获取运行时类的通用方法

时间:2018-05-09 11:29:16

标签: typescript inheritance

考虑以下类,如何根据“this”引用获取对类的引用?

请参阅下面的 ??? 。我需要一些能够返回当前实例类的东西。子类this.type应该返回其类的TYPE属性。不是父类的。

谢谢,

父类

export class TypedAction implements Action {
  static TYPE = [NONE];
  get type (): string {
    return ???; // non generic writing: return TypedAction.TYPE
  }
}

儿童班(以及其他许多人)

export class LoginRequestAction extends TypedAction {
  static TYPE = '[Auth] Login requested';
  constructor(public payload?: { username: string, password: string }){
    super();
  };
}

1 个答案:

答案 0 :(得分:0)

好的,找到了解决方案。

export class TypedAction implements Action {
  static TYPE = '[NO TYPE]';
  get type (): string {
    return (<typeof TypedAction>this.constructor).TYPE; 
  }
}