`Iterator.from`節の例で未紹介の`toArray`を先取り使用している
Type: Refactoring
## 概要
[イテレータとジェネレータ章](https://jsprimer.net/basic/iterator-generator/#iterator-from) の `Iterator.from` 節の例で、同節では未紹介の `toArray` メソッドを先取り使用している。
`Iterator.prototype.toArray` は次の節 ([#iterator-toarray](https://jsprimer.net/basic/iterator-generator/#iterator-toarray)) で紹介されるため、読者は未知のメソッドを読むことになる。
## 該当箇所
`source/basic/iterator-generator/README.md` L429-441 付近:
```js
const iterator = Iterator.from([1, 2, 3]);
console.log(iterator.map((x) => x * 2).toArray()); // => [2, 4, 6]
// Array.prototype.values メソッドはイテレータを返す
const array = [1, 2, 3];
console.log(array.values().map((x) => x * 2).toArray()); // => [2, 4, 6]
// ...
```
## 提案
`toArray` の代わりに `for...of` でイテレータを消費する形に書き換える。これにより、`Iterator.from` 節では `Iterator.from` のみで完結し、`toArray` は次節で初出として紹介できる。
```js
const iterator = Iterator.from([1, 2, 3]);
for (const value of iterator) {
console.log(value);
}
```
## 背景
ES2026 Iterator.concat対応の調査中 (#1869) に発見。
0 条评论