Javascript TypeScript中的类型检测

Javascript TypeScript中的类型检测,javascript,typescript,type-deduction,Javascript,Typescript,Type Deduction,有没有办法在TypeScript中获取函数调用方类型的名称?或者,是否有方法获取当前对象类型的名称 比如: export class SomeData { sampleFunc() { console.log(this.getTypeName()); } //or anotherFunc(caller: any) { console.log(caller.getTypeName()); } } getTypeName是此

有没有办法在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()
-至少在开发时使用更干净的日志记录

编辑:

就我所搜索到的,有一个建议“向ES7添加Decorators,以及用于Decorator元数据的ES7反射API原型”。人们可以将其与合作使用。

出于我的目的,我使用:

caller.constructor.name
有关更多信息,请阅读这篇优秀的文章:

您能否用代码示例更新您想要实现的目标?我知道您可以使用caller.name,但获取类型是不可能的,因为编译TypeScript时应用的规则与JavaScript相同。也许这可以帮助你@MatijaGrcic谢谢;我已经更新了这个问题。顺便说一句,在chrome上,
参数.callee.caller.name仍然提供函数的主体。你可能还想试试你在开玩笑吧!:)谢谢