对于原生部署 Iterator 接口的数据结构,不用自己写遍历器生成函数,for...of循环会自动遍历它们。
下面是采用for..of循环:
let values = [1, 2, 3];
for (let num of values) {
console.log(num); // 1 2 3
}
下面是手动创建迭代器,并获取迭代对象
let values = [1, 2, 3];
let iter = values[Symbol.iterator]();
iter.next(); // {value: 1, done: false}
iter.next(); // {value: 2, done: false}
iter.next(); // {value: 3, done: false}
iter.next(); // {value: undefined, done: true}
这两种结果为什么会不一样?for...of最后遍历的并没有输出undefined的结果
噜噜哒
相关分类