在C#中,使用Reflection可以很容易地在运行时获取类名。 在TypeScript中可以吗?
答案 0 :(得分:6)
在运行时,您正在运行JavaScript。因此,您可以查看此answer了解详细信息。
这是一个可以满足您需求的黑客 - 请注意它会修改 对象的原型,人们皱眉的东西(通常是好的 原因)
Object.prototype.getName = function() {
var funcNameRegex = /function (.{1,})\(/;
var results = (funcNameRegex).exec((this).constructor.toString());
return (results && results.length > 1) ? results[1] : "";
};
现在,所有对象都将具有getName()函数 将构造函数的名称作为字符串返回。我已经测试了这个 FF3和IE7,我不能代表其他实现。