Object【オブジェクト】 の連想配列 | Map【マップ】 | Set 【一意コレクション】 | WeakMap 【弱参照マップ】 | WeakSet 【弱参照一意コレクション】 | |
---|---|---|---|---|---|
コンストラクタ | オブジェクトリテラル new Object ( [ value ] ) | new Map ( [ iterable ] ) | new Set ( [ iterable ] ) | new WeakMap ( [ iterable ] ) | new WeakSet ( [ iterable ] ) |
キー | 文字列・Symbol | 任意 | オブジェクトのみ | ||
値 | 任意 | 任意 | 任意 | 任意 | オブジェクトのみ |
ガベージ手動 | 手動 | 自動 | | ||
要素数 | Object.keys ( obj ).length | size プロパティ | size プロパティ | ||
要素追加・更新 | obj.key obj [ 'key' ] セッター | set ( key, value ) | add ( value ) | set ( key, value ) | add ( value ) |
要素有無 | hasOwnProperty(V) | has ( key ) | has ( value ) | has ( key ) | has ( value ) |
要素値取得 | obj.key obj [ 'key' ] ゲッター | get ( key ) | get ( key ) | ||
要素削除 | delete obj.key delete obj [ 'key' ] | delete ( key ) | delete ( value ) | delete ( key ) | delete ( value ) |
全要素削除 | clear ( ) | clear ( ) | |||
イテレータ オブジェクト作成 (キー・値) | Object.entries(O) (配列取得) | [@@iterator] ( ) entries ( ) | entries ( ) (キー = 値) | ||
イテレータ オブジェクト作成 (キー) | Object.keys( O ) (配列取得) | keys ( ) | keys ( ) (キー = 値) | ||
イテレータ オブジェクト作成 (値) | Object.values(O) (配列取得) | values ( ) | [@@iterator] ( ) values ( ) | ||
反復要素処理 | for-in | for-of forEach (callbackfn [, thisArg]) next() | for-of forEach (callbackfn [, thisArg]) next() |
WeakMap Objects | ||
---|---|---|
ES2022 (13) | ES2021 (12) | ES2020 (11) |
WeakMap.prototype [ @@toStringTag ] | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |
WeakMap.prototype.constructor | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |
WeakMap.prototype | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |
構文 | 説明 |
---|---|
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