在TypeScript中键入Detection

时间:2016-01-17 10:39:27

标签: javascript typescript type-deduction

有没有办法在TypeScript中获取函数调用者类型的 名称 ?或者,有没有办法获得当前对象类型的 名称

类似的东西:

export class SomeData {
    sampleFunc() {
        console.log(this.getTypeName());
    }

    //or
    anotherFunc(caller: any) {
        console.log(caller.getTypeName());
    }
}

getTypeName是此处所需的功能。 TypeScript中的类型在编译后消失。有typeof(获取类定义对象本身)但我看不到如何获取名称

这样做的一个用法是使用console.group(name)console.groupEnd()进行更清晰的记录 - 至少在开发时。

修改

据我搜索过,有一个Polyfill for Metadata Reflection API提案" 将装饰器添加到ES7,以及用于装饰器元数据的ES7 Reflection API的原型&#34 ;.可以与decorators in TypeScript一起使用它。

1 个答案:

答案 0 :(得分:4)

出于我的目的,我使用:

caller.constructor.name

有关详细信息,请阅读此优秀帖子: How to get a JavaScript object's class?