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 がオブジェクトとシンボルのキーしか保持できないためです。つまり、オブジェクトキーの場合、等価性はオブジェクトが同一のものであるかに基づきます。これらは値ではなく参照によって比較されます。
関連
- 類似: KDOC 625: WeakMapはGCを妨げない
- 追加調査: 参照等価と値等価の例を調べる