WeakMap【弱参照マップ】オブジェクト

目次: メモ コンストラクタ プロパティ メソッド 関連

メモ

コンストラクタ

構文説明
new WeakMap ( [ iterable ] ) コンストラクタ
new なし:TypeError例外

プロパティ

プロパティ説明
WeakMap.prototype[ @@toStringTag ] タグ (下記 例を参照)
weakMap[Symbol.toStringTag]:"WeakMap"
WeakMap.prototype.constructorコンストラクタ定義 (下記 例を参照)
WeakMap.prototypeプロトタイプ (下記 例を参照)

メソッド

メソッド説明
WeakMap.prototype.delete ( key )要素削除
WeakMap.prototype.get ( key )要素値取得
WeakMap.prototype.has ( key )要素有無
WeakMap.prototype.set ( key , value )要素追加・更新

console.log(WeakMap.prototype.constructor);
// 出力:function WeakMap() { [native code] }
console.log(WeakMap.prototype);
// 出力:
// WeakMap
//   constructor:function WeakMap()
//   delete:function delete()
//   get:function get()
//   has:function has()
//   set:function set()
//   Symbol(Symbol.toStringTag):"WeakMap"
//   __proto__:Object

var weakMap1 = new WeakMap();
console.log(weakMap1[Symbol.toStringTag]);
// 出力:WeakMap
console.log(weakMap1.constructor);
// 出力:function WeakMap() { [native code] }

var obj1 = new Object("obj1");
var obj2 = new Object("obj2");
weakMap1.set(obj1, "OBJ1");
weakMap1.set(obj2, "OBJ2");
weakMap1.delete(obj2);
console.log(weakMap1.get(obj1));  // 出力:OBJ1
console.log(weakMap1.get(obj2));  // 出力:undefined
console.log(weakMap1.has(obj1));  // 出力:true
console.log(weakMap1.has(obj2));  // 出力:false