1.javascript中的Iterator(迭代器/遍历器)
执行Symbol.iterator这个属性,会返回一个遍历器对象。该对象的根本特征就是具有next方法。每次调用next方法,都会返回一个代表当前成员的信息对象,具有value和done两个属性。
js中具备Iterator接口的数据结构有:
如
在Array.prototype中可以发现有Iterator接口。
总结:Iterator主要是供for of使用。只有部署了Iterator接口的数据结构,才可以使用for of来遍历其中的数据。
除了for of外,还有一些场合也会默认调用 Iterator 接口(即Symbol.iterator方法),如解构赋值、扩展运算符、yield*等
凡是具有Symbol.iterator属性的结构都具有iterator接口,对于部署了Iterator接口的数据结构都可以使用for of循环。
所以不能用for of来遍历对象,因为原生对象没有部署Inter