【JavaScript ECMAScript】Symbol::Symbol.iterator静的データプロパティの使い方
Symbol.iterator静的データプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Symbol.iteratorプロパティは、JavaScriptにおいてオブジェクトが反復可能(iterable)であることを示すための特別なシンボル値を保持するプロパティです。
このプロパティが持つシンボル値は、オブジェクトがfor...ofループなどで要素を一つずつ取り出すための「イテレーター」を定義するキーとして利用されます。具体的には、オブジェクトに[Symbol.iterator]()メソッドが実装され、それがnext()メソッドを持つイテレーターを返す場合、そのオブジェクトは反復可能と見なされます。イテレーターはコレクションの要素を順次提供します。
for...ofループ、スプレッド構文(...)、Array.from()などのJavaScriptの多くの反復処理機能は、このSymbol.iteratorプロパティを通じてイテレーターを取得し、オブジェクトの要素を統一された方法で処理します。これにより、配列やSet、Mapなどの標準データ構造はもちろん、開発者が定義したカスタムオブジェクトも同様に反復処理が可能になります。
システムエンジニアを目指す初心者の方にとって、これはJavaScriptで多様なコレクションの要素を柔軟かつ標準的に扱うための、非常に重要な仕組みであると理解すると良いでしょう。
公式リファレンス: Symbol.iterator
構文(syntax)
1const customIterable = { 2 data: [1, 2, 3], 3 [Symbol.iterator]: function* () { 4 for (const item of this.data) { 5 yield item; 6 } 7 } 8};
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません