ES2026: Iterator.concat (Iterator Sequencing)
Lang: ES2026
- [tc39/proposal-iterator-sequencing: Iterator Sequencing](https://github.com/tc39/proposal-iterator-sequencing)
複数のイテレータを順番に連結する `Iterator.concat` 静的メソッドが追加される。配列の `Array.prototype.concat` のイテレータ版。
## 方針 (A案)
- [イテレータとジェネレータ章](https://jsprimer.net/basic/iterator-generator/) の `[ES2025] イテレータのメソッド` 節内、`Iterator.from` の後に `### [ES2026] Iterator.concat静的メソッド` を追加
- 静的メソッド枠(`from`, `concat`) → prototypeメソッド枠(`toArray`, `take`, ...) の構造で自然に並ぶ
- ES2025括りの中にES2026が混ざるのでサブ節にES2026タグを付けて対応
- 内容は既存のIterator Helpers群と同じ粒度:基本動作、遅延評価、`Iterator.from` でwrapが必要な場合の注意
## 前提
`Iterator.from` 節の既存例が未紹介の `toArray` を先取り使用している。`from → concat → toArray` の流れを自然にするため、先行または並行で #1870 の修正(`for...of` ベースに書き換え)を行う。
## 変更箇所のアウトライン
```
イテレータとジェネレータ章 (source/basic/iterator-generator/README.md)
├── はじめに
├── IterableプロトコルとIteratorプロトコル
├── Iterableなビルトインオブジェクト
├── ジェネレータ関数
├── [ES2025] イテレータのメソッド
│ ├── Iterator.from静的メソッド ← #1870でfor...ofに修正
│ ├── [ES2026] Iterator.concat静的メソッド ← 追加 (A案)
│ ├── Iterator.prototype.toArray
│ ├── Iterator.prototype.take
│ ├── Iterator.prototype.map
│ ├── Iterator.prototype.filter
│ ├── Iterator.prototype.drop
│ ├── Iterator.prototype.flatMap
│ ├── Iterator.prototype.reduce
│ └── メソッドチェーンによる宣言的な処理
└── まとめ
```
## 対応コスト
**Point 2** (1つのサブ節を追加)
類似先例:
- [feat(map-and-set): Map.groupBy #1751](https://github.com/js-primer/js-primer/pull/1751): Point 2 (1セクション追加)
- [feat(error-try-catch): Error Cause #1732](https://github.com/js-primer/js-primer/pull/1732): Point 2 (1セクション追加)
## TODO
- [ ] #1870 の修正(`Iterator.from` 節の例を `for...of` ベースに書き換え)
- [ ] `[ES2025] イテレータのメソッド` 節内の `Iterator.from` の後に `[ES2026] Iterator.concat静的メソッド` サブ節を追加
## 調査メモ
- [docs/research/es2026/iterator-sequencing.md](https://github.com/js-primer/js-primer/blob/claude/js-primer-issues-Ip4kk/docs/research/es2026/iterator-sequencing.md)
## 関連
- メタIssue: #1869
- 前提Issue: #1870
关闭于 2026-05-25 2 条评论