export class MyClass<T> {
private myObject: ObjectType<T>;
constructor(myObject: ObjectType<T>) {
console.log(type name of T); ?????
this.myObject= myObject;
}
}
我知道在编译时我不能这样做,有什么技巧可以检查类型名称吗?
答案 0 :(得分:1)
使用类,您可以执行以下操作。不适用于接口或类型,仅适用于类的实例。
class Foo {}
class Bar {}
function isFoo(obj: Foo | Bar | null):boolean {
return obj instanceof Foo;
}
const foo = new Foo();
console.log( isFoo(foo) );
答案 1 :(得分:0)
这对于香草 Typescript 是不可能的。所有类型在编译期间都会被擦除。但是,您可以使用反射库,例如:https://github.com/Hookyns/ts-reflection