ITADN

ES2026: Iterator.concat (Iterator Sequencing)

#1875Closedazu 创建于 2026-04-19
Lang: ES2026
A
azucommented
- [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 条评论