一、课程名称:前端工程师2022版
二、课程章节:ES6语法扩展-Iterator遍历器与for...of循环
三、课程讲师:Alex
四、课程内容
Iterator遍历器
1、Iterator是什么
(1)Iterator的作用
Iterator:是遍历器(迭代器)的意思,它也是用来遍历的
(2)寻找Iterator
console.log(Iterator);//报错
console.log([1, 2][Symbol.iterator]()); //Array Iterator {}
const it = [1,2][Symbol.iterator]();
console.log(it);
(3)使用Iterator
// it表示可遍历对象(可迭代对象)
// Symbol.iterator表示可遍历对象的生成方法
const it = [1, 2][Symbol.iterator]();
console.log(it.next()); //{value: 1, done: false}
console.log(it.next()); //{value: 2, done: false}
console.log(it.next()); //{value: undefined, done: true}
console.log(it.next()); //{value: undefined, done: true}
(4)什么是Iterator
Iterator表示一个遍历的过程:Symbol.iterator(可遍历对象的生成方法)->it(可遍历对象)-> it.next() -> it.next() ->...(直到done为true)
2、Iterator解惑
(1)为什么需要Iterator遍历器
虽然遍历数组可以用for循环和forEach方法,遍历对象可以用for in循环,但是都没有一个统一的方式,Iterator遍历器是一个统一的遍历方式。数组天生就有Iterator方法,而对象没有
console.log([][Symbol.iterator]()); //Array Iterator {}
console.log({}[Symbol.iterator]); //undefined
(2)如何更方便的使用Iterator
使用Iterator需要一系列的步骤,Symbol.iterator(可遍历对象的生成方法)->it(可遍历对象)-> it.next() -> it.next() ->...(直到done为true),所以我们一般不会直接使用Iterator去遍历,而是把它作为底层的东西,将它封装起来使用,for...of就是将它封装起来使用的工具
五、课程心得
今天学习了Iterator遍历器的相关知识,刚开始虽然知道遍历是什么,但是对于Iterator遍历器的使用还是有点搞不清楚的,后面逐渐形成了对它的初步认识,相信在学习接下来的for...of的知识后,可以加深对Iterator遍历器的理解。