迭代器模式,指提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。
ES6 里的 Iterator 是迭代器模式的实现:
let arr = ['a', 'b', 'c'];
let iter = arr[Symbol.iterator]();
iter.next() // { value: 'a', done: false }
iter.next() // { value: 'b', done: false }
iter.next() // { value: 'c', done: false }
iter.next() // { value: undefined, done: true }
反复调用迭代对象 的 next 方法,即可顺序访问数组的元素。