2017-06-13 38 views
1

我想通過一個對象(該對象可以具有任何數量的嵌套特性)的嵌套屬性生成「Type'never'的遞歸函數不能用作索引類型。」

private loop(item:any) { 

    for(let property in item){ 

     if (typeof property === "object") { 
     this.loop(item[property]); 
     continue; 
     } 

     console.log(property) 

    } 
    } 
本身

環類中寫一個遞歸私有函數,這是無用的功能 - 但編譯時會產生錯誤

類型'never'不能用作索引類型。

說實話,我不知道爲什麼,或者這個錯誤是什麼......我查了文檔,但所有的例子似乎談論的是一個不滿意的switch語句。

使用打字稿2.3.4

我將不勝感激,如果某種靈魂能賜教;)

+0

如何'property'是一個對象?我認爲財產名稱必須是字符串。 – melpomene

+0

哦..親愛的..上帝......是的。它應該是typeof項目[物產] 謝謝。現在我覺得很愚蠢;) – jmls

回答

0

是的,我有一個錯字。我應該說

typeof item[property] 

對不起帶寬的浪費;)