Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Map::Map.prototype[Symbol.iterator]インスタンスメソッドの使い方

Map.prototype[Symbol.iterator]()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Map.prototypeSymbol.iteratorメソッドは、JavaScriptのMapオブジェクトに格納された要素を反復処理するためのイテレーターオブジェクトを返すメソッドです。Mapオブジェクトはキーと値のペアの集合ですが、このメソッドを使用することで、それらのペアを順番に取り出すことができるようになります。

具体的には、このメソッドが返すイテレーターオブジェクトは、Map内に存在する各エントリ(キーと値のペア)を、[キー, 値]という形式の配列として順に生成します。この処理は、Mapに要素が追加された際の挿入順序に従って行われます。

JavaScriptにおいて、[Symbol.iterator]プロパティに定義されたメソッドは、オブジェクトが反復可能(iterable)であることを示します。そのため、Mapオブジェクトに対してfor...ofループを使用したり、分割代入やスプレッド構文(例: [...myMap])を利用してMapの要素を操作したりする際に、このMap.prototype[Symbol.iterator]()メソッドが内部的に自動で呼び出されます。

このメソッドが提供するイテレーターは、Map.prototype.entries()メソッドが返すイテレーターと全く同じ挙動を示します。これにより、Mapのデータを柔軟かつ効率的に扱え、他の反復可能なデータ構造と同様の一貫した方法で処理することが可能になります。

公式リファレンス: Map.prototype[Symbol.iterator]()

構文(syntax)

1const myMap = new Map();
2myMap.set('key1', 'value1');
3myMap.set('key2', 'value2');
4
5for (const [key, value] of myMap) {
6  console.log(`キー: ${key}, 値: ${value}`);
7}

引数(parameters)

引数なし

引数はありません

戻り値(return)

イテレーター

Map.prototypeSymbol.iterator は、Map オブジェクトの各要素を順に取得するためのイテレーターを返します。このイテレーターは、next() メソッドを呼び出すことで、キーと値のペアを格納したオブジェクトを一つずつ生成します。

関連コンテンツ