✅ 要点まとめ

Map は ES6 で導入された、キーと値のペア(key-value)を保持するためのオブジェクトです。

従来のオブジェクト {} よりも、キーの型に柔軟で、順序保証もあるのが特徴です。


🔍 1. 基本的な使い方

// Mapを作成
const map = new Map();

// 値を追加(set)
map.set('name', 'Taro');
map.set('age', 25);

// 値を取得(get)
console.log(map.get('name')); // => 'Taro'

// 要素の存在確認(has)
console.log(map.has('age')); // => true

// 要素を削除(delete)
map.delete('age');

// 要素数(size)
console.log(map.size); // => 1


🧠 2. 特徴とObjectとの違い

特徴 Map Object
キーの型 任意(文字列・数値・オブジェクト・関数など) 文字列・シンボルのみ
順序の保証 あり(挿入順) 基本的には保証されない
イテレーションしやすさ for...ofmap.entries()などで簡単 Object.keys()などが必要
パフォーマンス 多くの場合、キー操作が高速 小規模データ向き

🔁 3. ループ処理(for...of)

const map = new Map([
  ['language', 'JavaScript'],
  ['version', 'ES6']
]);

for (const [key, value] of map) {
  console.log(`${key}: ${value}`);
}
// 出力:
// language: JavaScript
// version: ES6


💡 4. オブジェクトをキーにできる(Map特有)

const objKey = { id: 1 };
const map = new Map();
map.set(objKey, 'データ');

console.log(map.get(objKey)); // => 'データ'

オブジェクトのキーは参照で一致しなければならない点に注意!


🧰 5. よく使うMapメソッド一覧

メソッド 説明
set(key, value) 要素を追加
get(key) キーに対応する値を取得
has(key) キーの存在確認
delete(key) キーごと削除
clear() すべての要素を削除
size 要素数
keys() キーのイテレータ
values() 値のイテレータ
entries() [key, value]の配列のイテレータ
forEach(cb) 各要素に対してコールバック実行