📌  相关文章
📜  未定义标识符“id”. 'any[]' 不包含这样的成员 (1)

📅  最后修改于: 2023-12-03 15:26:31.434000             🧑  作者: Mango

异常信息介绍:未定义标识符“id”。'any[]' 不包含这样的成员。

异常信息提示了两个问题,分别是“未定义标识符‘id’”和“‘any[]’不包含这样的成员”。

  • “未定义标识符‘id’”表示在代码中使用了一个未声明的变量或者变量名写错了。需要检查代码中是否存在声明该变量,或者检查变量名是否写正确。
  • “‘any[]’不包含这样的成员”表示在某个数据类型中使用了不存在的成员。需要检查代码中对该类型数据的使用是否正确,或者该类型是否包含对应的成员。

以下是可能导致该问题的代码片段:

let person: any[] = [
    { name: 'Tom', age: 18 },
    { name: 'Jerry', age: 20 }
];

person.forEach(item => {
    console.log(item.id); // 报错行
});

在上述代码片段中,foreach循环打印每个person的id属性,但是person并没有id属性。因此会抛出“未定义标识符‘id’”和“‘any[]’不包含这样的成员”的异常信息。要解决此问题,需要将console.log(item.id)中的id更正为name或age。

推荐修改为如下代码,以解决上述问题:

let person: any[] = [
    { name: 'Tom', age: 18 },
    { name: 'Jerry', age: 20 }
];

person.forEach(personItem => {
    console.log(personItem.age);
});

此时程序能够正确输出每个person的age属性,并且不会抛出该异常。