1.可以部署在对象上的一个遍历器
2. 遍历器是一个函数,需要返回一个含有一个next 方法的对象
const likeArray = {0:'a', 1: 'b', 2: 'c',3: 'd'. length: 4};
likeArray[Symbol.iterator] = function(){ // 提供一个遍历器接口
let i = 0;
return {
next: () => {
return {value: this[i], done: i++ === this.length}
}
}
}
generator函数可以生成遍历器
likeArray[Symbol.iterator] = function * (){
let i = 0;
while(i !== this.length){
yield this[i++]
}
}