概述
说明:本文参考阮一峰的ECMAScript 6 入门
1.Iterator(遍历器)的概念
JavaScript原有的表示‘集合’的数据结构,主要是数组和对象,ES6又添加了Set和Map。这样就有四种数据结构,这些数据结构还可以组合在一起,例如数组的成员是Map,Map的成员是对象。这就需要一个统一的接口机制,来处理所有不同的数据结构。
Iterator(遍历器)就是这样的一种机制。它是一种接口,为各种不同的数据结构提供统一的访问接口。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。
Iterator的作用主要有三个:一是为各种数据结构提供统一的访问结构;二是能够按照某种次序为数据结构的成员进行排列;三是ES6创造一种新的遍历命令for…of循环。
原生具备 Iterator 接口的数据结构如下。
Array
Map
Set
String
TypedArray
函数的 arguments 对象
NodeList 对象
2.for…of循环
ES6 借鉴 C++、Java、C# 和 Python 语言,引入了for…of循环,作为遍历所有数据结构的统一的方法。
一个数据结构只要部署了Symbol.iterator属性,就被视为具有 iterator 接口,就可以用for…of循环遍历它的成员。也就是说,for…of循环内部调用的是数据结构的Symbol.iterator方法。
for…of循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM、 NodeList 对象)、后文的 Generator 对象,以及字符串。
最后
以上就是笨笨心锁为你收集整理的ES6学习-Iterator和for...of循环的全部内容,希望文章能够帮你解决ES6学习-Iterator和for...of循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复