2

如何在 TypeScript 中获取属性名或类名。就像nameof()C# 语言中的函数一样。

在此处输入图像描述

4

1 回答 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 回答