11. Iterators & Generators

最后更新于:2022-04-01 21:12:22

* [11.1](https://github.com/yuche/javascript#11.1) 不要使用 iterators。使用高阶函数例如 `map()` 和 `reduce()` 替代 `for-of`。 > 为什么?这加强了我们不变的规则。处理纯函数的回调值更易读,这比它带来的副作用更重要。 ~~~ const numbers = [1, 2, 3, 4, 5]; // bad let sum = 0; for (let num of numbers) { sum += num; } sum === 15; // good let sum = 0; numbers.forEach((num) => sum += num); sum === 15; // best (use the functional force) const sum = numbers.reduce((total, num) => total + num, 0); sum === 15; ~~~ * [11.2](https://github.com/yuche/javascript#11.2) 现在还不要使用 generators。 > 为什么?因为它们现在还没法很好地编译到 ES5。
';