关于Symbol.iterator 学习笔记

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++]

  }

}

原文地址:https://www.cnblogs.com/qqfontofweb/p/13747717.html