为什么for.of不记录foo值

Why for..of does not log the foo value?

本文关键字:foo 记录 for of 为什么      更新时间:2023-09-26

我正在查看有关JS的Mozilla文档中的示例,这是显示For.的片段。印刷品 3、5、7,但为什么不是"你好"?

let arr = [3, 5, 7];
arr.foo = "hello";
for (let i in arr) {
   console.log(i); // logs "0", "1", "2", "foo"
}
for (let i of arr) {
   console.log(i); // logs "3", "5", "7" ?????
}
数组

是对其元素的可迭代对象。这就是它的定义。这就是 Array[Symbol.iterator] 的实现方式。

看到这里。

源。

编辑:
foo是财产。例如,3 是一个元素,但"hello"不是。元素是作为整数值属性的值出现的值。