首页 > 解决方案 > 如何在打字稿中获取模板类型的类型名称?

问题描述

export class MyClass<T> {
  private myObject: ObjectType<T>;

  constructor(myObject: ObjectType<T>) {
    console.log(type name of T);  ?????
    this.myObject= myObject;
  }
}

我知道我不能在编译时这样做,有什么技巧可以检查类型名称吗?

标签: javascripttypescript

解决方案


使用类,您可以执行以下操作。不适用于接口或类型,仅适用于类的实例。

class Foo {}
class Bar {}

function isFoo(obj: Foo | Bar | null):boolean {
    return obj instanceof Foo;
}

const foo = new Foo();
console.log( isFoo(foo) );

推荐阅读