我想獲取簡單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