Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年9月.
Symbol.iterator は静的データプロパティで、ウェルノウンシンボルの Symbol.iterator を表します。反復可能プロトコルは、オブジェクトのイテレーターを返すメソッドを、このシンボルで探します。オブジェクトが反復可能であるためには、[Symbol.iterator] キーを持っていなければなりません。
ウェルノウンシンボル Symbol.iterator です。
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
オブジェクトを反復処理する必要がある場合(for..of ループの開始時など)は、その [Symbol.iterator]() メソッドが引数なしで呼び出され、返されたイテレーターを使用して反復処理される値が取得されます。
一部の組み込み型には既定の反復動作がありますが、他の型(Object など)にはありません。[Symbol.iterator]() メソッドの組み込み型は次のとおりです。
詳細については、反復処理プロトコルも参照してください。
次のように独自の反復可能オブジェクトを作成できます。
または、計算プロパティを使用して、クラスやオブジェクト内で反復可能オブジェクトを直接定義できます。
もし反復可能項目の [Symbol.iterator]() メソッドがイテレーターオブジェクトを返さない場合、それは非整形反復可能項目です。それを使用すると、実行時に例外が発生したり、バグが発生したりする可能性があります。
| ECMAScript® 2027 Language Specification # sec-symbol.iterator |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年11月13日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.