迭代器

首先,迭代器是一个函数接口,任何一个实现了Iterable接口的对象,都有一个Symbol.Iterable属性,这个属性默认引用一个接口函数,这个接口函数就是迭代器,迭代器必须通过连续不断地调用next()方法连续读取数值,这个方法返回一个IterableObject对象,该对象包含一个done和values的属性,done表示是否还有值可以迭代,values表示已经迭代过的数据。

迭代器是一个可以由任意对象实现的接口,支持连续获取对象产出的每一个值。任何实现Iterable接口的对象都有一个Symbol.iterator属性,这个属性引用默认迭代器。默认迭代器就像一个迭代器工厂,也就是一个函数,调用之后会产生一个实现Iterator接口的对象。
迭代器必须通过连续调用next()方法才能连续获取值,这个方法返回一个IteratorObject。这个对象包含一个done属性和一个value属性。前者时刻一个布尔值,表示十分还有更多值可以访问;后者包含迭代器返回的当前值。这个接口可以通过手动反复调用next()方法来消费,也可以通过原生消费者,比如for循环来自动消费。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容