ES6 迭代接口iterator实现

2026-03-08 11:04:59

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接口

ES6 迭代接口iterator实现

ES6 迭代接口iterator实现

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