TypeScript 获取类名
console.log(this.constructor.name);
// 第三方类
console.log(StateDefault.prototype.constructor.name);
使用泛型时,获取泛型类名:
export class Test {
constructor() {
this.getState(StateDefault);
}
public getState<T extends State>(t: {new(): T; }):void{
// 不会调用 StateDefault 类的构造函数
console.log(t.prototype.constructor.name); // output: StateDefault
}
// 第二种写法
/*public getState<T extends State>(t: new() => T):void{
// 不会调用 StateDefault 类的构造函数
console.log(t.prototype.constructor.name); // output: StateDefault
}*/
}