KDOC 626: WeakMap のキーは参照で照合する

この文書のステータス

  • 作成
    • 2026-09-18 貴島
  • レビュー
    • 2026-09-18 貴島

概要

WeakMap のキーは参照で照合するので、値が同じであっても区別される。

const wm = new WeakMap();

const keyObject1 = {"this is": "key object"};
const keyObject2 = {"this is": "key object"};

wm.set(keyObject1, "save1");
wm.set(keyObject2, "save2");

console.log(wm.get(keyObject1));
console.log(wm.get(keyObject2));
save1
save2

キーの等価性 通常の Map と同様に、値の等価性は SameValueZero アルゴリズムに基づきます。これは = 演算子と同じです。WeakMap がオブジェクトとシンボルのキーしか保持できないためです。つまり、オブジェクトキーの場合、等価性はオブジェクトが同一のものであるかに基づきます。これらは値ではなく参照によって比較されます。

WeakMap - JavaScript | MDN

関連

Backlinks