WeakMap【弱参照マップ】オブジェクト
目次: メモ コンストラクタ プロパティ メソッド 例 関連
メモ
- 弱参照マップ (キー・値)
- DOM 操作に有用 (メモリリーク防止)
- クラス定義による継承可能
- 参考:その他 配列・コレクション
- 関連オブジェクト比較
コンストラクタ
構文 | 説明 |
---|---|
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
関連
- ECMAScript 2015 (6) (英語)
- ECMAScript 2016 (7) (英語)