遍历器(Iterator)

是一种机制(接口):为各种不同的数据结构提供统一的访问机制,任何数据结构只要拍部署Iterator接口,就可以完成遍历操作「for of循环」,依次处理该数据结构的所有成员

  • 拥有next防范用于依次遍历数据结构的成员
  • 每一次遍历返回的结果是一个对象 {done: xx, value: xxx}
    • done: 记录是否遍历完成
    • value:当前遍历的结果

拥有Symbol.iterator属性的数据结构(值),都被称为可遍历的,可以基于for of循环处理

  • 数组
  • 部分类数组:argument/NodeList/HTMLCollection。。。
  • String
  • Set
  • Map
  • generator object

对象默认不具备Symbol.iterato,属于不可被遍历的数据结构

未完待续