JavaScript Map

Mapはキーと値のペアを保持し、キーは任意のデータ型になります。

Mapはキーの挿入順序を覚えています。

Mapの作成方法

JavaScriptのMapを作成する方法:

  • 配列をnew Map()に渡す
  • Map.set()を使用してMapを作成する

new Map()メソッド

new Map()コンストラクタに配列を渡すことでMapを作成できます:


// Mapを作成する
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

set()メソッド

set()メソッドを使ってMapに要素を追加できます:


// Mapを作成する
const fruits = new Map();

// Mapの値を設定する
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);

set()メソッドは既存のMapの値を変更するのにも使用できます:


fruits.set("apples", 200);

get()メソッド

get()メソッドはMap内のキーの値を取得します:


fruits.get("apples");    // 500を返す

Mapはオブジェクトです

typeofはオブジェクトを返します:


typeof fruits;    // オブジェクトを返す

instanceof Mapはtrueを返します:


fruits instanceof Map;    // trueを返す

JavaScriptのオブジェクト vs Map

JavaScriptのオブジェクトとMapの違い:

オブジェクト Map
直接的にはイテラブルではない 直接的にはイテラブル
サイズプロパティを持たない サイズプロパティを持つ
キーは文字列(またはシンボル)である必要がある キーは任意のデータ型になり得る
キーの順序は定義されていない キーは挿入の順序で保持される
デフォルトのキーを持たない デフォルトのキーを持つ