Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. Map
  6. [Symbol.iterator]()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Map.prototype[Symbol.iterator]()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016年9月⁩.

[Symbol.iterator]()Map インスタンスのメソッドで、反復可能プロトコルを実装します。これにより、Map オブジェクトが反復可能プロトコルを受け入れるほとんどの構文、たとえばスプレッド構文for...of ループなどで使用できるようになります。マップのキーと値のペアを挿入順に返すイテレーターオブジェクトを返します。

初期値は、Map.prototype.entries メソッドの初期値と同じ関数オブジェクトです。

試してみましょう

const map = new Map();map.set("0", "foo");map.set(1, "bar");const iterator = map[Symbol.iterator]();for (const item of iterator) {  console.log(item);}// 予想される結果: Array ["0", "foo"]// 予想される結果: Array [1, "bar"]

構文

js
map[Symbol.iterator]()

引数

なし。

返値

返値はMap.prototype.entries() と同じ、マップのキーと値のペアを生成する新しい反復可能なイテレーターオブジェクトを返します。

for...of を使用した反復処理

このメソッドを直接呼び出す必要があることはめったにないことに注意してください。[Symbol.iterator]() メソッドが存在することでMap オブジェクトを反復可能にし、for...of ループなどの反復処理構文が、自動的にこのメソッドを呼び出してループのためのイテレーターを取得することができます。

js
const myMap = new Map();myMap.set("0", "foo");myMap.set(1, "bar");myMap.set({}, "baz");for (const entry of myMap) {  console.log(entry);}// ["0", "foo"]// [1, "bar"]// [{}, "baz"]for (const [key, value] of myMap) {  console.log(`${key}: ${value}`);}// 0: foo// 1: bar// [Object]: baz

手動でイテレーターを手繰る

返されたイテレーターオブジェクトのnext() メソッドを手動で呼び出すと、反復処理を最大限に制御することができます。

js
const myMap = new Map();myMap.set("0", "foo");myMap.set(1, "bar");myMap.set({}, "baz");const mapIter = myMap[Symbol.iterator]();console.log(mapIter.next().value); // ["0", "foo"]console.log(mapIter.next().value); // [1, "bar"]console.log(mapIter.next().value); // [Object, "baz"]

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-map.prototype-%symbol.iterator%

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp