迭代器和生成器

2 阅读1分钟
  1. 实现了Iterable接口的内置类型:字符串,数组,映射,集合,arguments对象,NodeList等.   DOM集合类型

  2. 自动调用Symbol.iterator生成迭代器函数的包括:

    for-of循环

    数组解构

    扩展操作符

    Array.from()

    创建集合

    创建映射

    Promise.all接收由期约组成的可迭代对象

    Promise.race接收由期约组成的可迭代对象

3.   生成器:拥有一个在函数块内暂停和恢复代码执行的能力

yield 关键字可以让生成器停止和开始执行,也是生成器最有用的地方。生成器函数在遇到 yield 关键字之前会正常执行。遇到这个关键字后,执行会停止,函数作用域的状态会被保留。停止执行的生 成器函数只能通过在生成器对象上调用 next()方法来恢复执行