理解 JavaScript 的迭代器与生成器
在 JavaScript 中, 迭代器与生成器常被视为 "进阶语法" 的一部分. 很多开发者只在 for-of 循环或异步流处理中偶然接触它们, 而忽略了: 这其实是 JavaScript 运行时与控制流语义中最具代表性的抽象之一. 生成器的独特之处在于它的 "中间态" - 既不是函数的单次执行, 也不是多线程的并发模型, 而是一种可暂停, 可恢复的计算过程. 这种机制不仅让我们能以同步的写法表达异步逻辑, 更让惰性求值, 协程调度, 数据流建模等复杂场景成为可能. 本文章将从基础到底层带你完整理解生成器的语言特性与实现逻辑.