我想获取简单Typescript对象的属性名称。获取对象的属性名称
export class Simple {
myProperty: string;
otherProperty: string = "some text";
}
var s = new Simple();
Object.getOwnPropertyNames(s) --> ["otherProperty"]
for(var property in s) {console.log(property)} --> "otherProperty"
Object.keys(s) --> ["otherProperty"]
我不明白为什么“myProperty”没有被捕获。我如何获得未初始化的属性的属性名称?
我明白了,非常感谢你对这个清晰的解释。但是在Typescript中是否有一个“语法”方法,可以让你获得对象的属性?某种类似于Simple.getProperties的静态类型() – fazega
没有,因为没有将这些信息编译为JavaScript。您也许可以编写一个预构建步骤来分析TypeScript代码,然后将类型信息分别作为一些元数据公开。不知道你将如何开始。在一个有点相关的话题上,看一看[decorators](https://www.typescriptlang.org/docs/handbook/decorators.html),它也可以以装饰器元数据公开到JavaScript的方式进行编译(在页面底部)。 – poke
谢谢!我一直在寻找这样的东西,但看着“属性”(C#!)而不是“装饰者”;) – fazega