ES6 迭代接口iterator实现
1、作用
为所有的数据结构提供统一的访问方式。
2、接口对象
接口对象一共有3个方法,next()方法、return()方法、throw()方法。
next() 必填
用于for..of迭代。
该方法返回一个对象{value,done}。 value:元素值,done:状态位,用于指定循环是否结束。
return() 可选
用于break语句,或出错结束循环。
throw() 可选
throw方法主要是配合 Generator 函数使用
3、接口实现
通过内置Symbol.iterator属性来实现接口,该接口主要是返回一个对象指针,然后通过调用接口对象的next方法来实现访问下一个元素值。
4、具备iterator接口的对象
1:数组
2:字符串
3:函数的 arguments 对象
4: Set/Map 数据结构
5:TypedArray
6:NodeList 对象
5、接口调用
1:手动调用。
2:for..of语句
3:... (扩展运算符)
6、特点
for...of循环还有一个特点,就是会正确识别 32 位 UTF-16 字符
7、链表数据结构实现iterator接口


声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:82
阅读量:140
阅读量:150
阅读量:99
阅读量:179