如何在 TypeScript 中获取属性名或类名。就像nameof()
C# 语言中的函数一样。
1570 次
1 回答
0
name
如果您引用构造函数,则基本上类名是其对象的属性。如果 object 是某个类的实例,则需要获取其构造函数,然后获取名称。假设我们有类测试:
class Test {
someProp = null;
someFunc() {}
}
你可以通过引用name
属性来获得它的名字:
Test.name
如果我们有例如。变量 testInstance 是 Test 类的实例,我们需要通过constructor
属性获取其构造函数,然后获取名称:
instance.constructor.name
由于函数也是构造函数,你可以对它们做同样的事情:
instance.someFunc.name
不幸的是,我们无法获得属性名称(即使通过迭代实例的键,一些变量也可以存储相同的值或对相同对象的引用)。
但是,可能有很多方法可以实现您的目标。例如。如果您想将存储在实例中的所有属性设置为参数,您可以通过循环遍历每个属性for in
。另一种方法是不仅将值存储,而且将整个对象作为key-value
对存储在变量中
于 2018-06-24T15:24:30.120 回答