2017-06-13 35 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] 

对不起带宽的浪费;)