Iterator:遍历器
是一接口,为不同的数据结构提供统一的访问机制,只要当前数据结构部署了iterator接口,当前数据结构就可以遍历。
作用:1、为不同的数据结构,提供统一的访问机制
2、使当前数据结构的成员依次被访问
3、创建了for...of,为他服务
原理:创建一个指针,指针指向初始位置;第一次调用next(),指针指向第一个位置;第二次调用,指针指向第二个位置;直到指向数据结构的结束位置。
内置遍历器的数据结构有:Array、TypeArray、Map、Set、String、Aguments、NodeList
调用遍历器的情况有:解构赋值、扩展运算符、yield*、for..of、Array.form()、Map()、Set()、 WeakMap()、 WeakSet()、Promise.all()、Promise.race()
for...of
遍历具有遍历器的数据结构,只返回索引是数字类型的值。