WeakMap【弱参照マップ】オブジェクト
メモ
概要
- 弱参照マップ (キー・値)
- 自動ガベージコレクション
- キー参照がなくなると削除
- DOM 操作に有用 (メモリリーク防止)
- キー:オブジェクト・シンボル
- 要素数の取得・要素列挙・要素の全削除は不可
- クラス定義による継承可能
参考:その他 配列・コレクション
関連
- 関連オブジェクト比較
Object【オブジェクト】
の連想配列Map【マップ】 Set
【一意コレクション】WeakMap
【弱参照マップ】WeakSet
【弱参照一意コレクション】コンストラクタ オブジェクトリテラル
new Object ( [ value ] )new Map
( [ iterable ] )new Set
( [ iterable ] )new WeakMap
( [ iterable ] )new WeakSet
( [ iterable ] )キー 文字列
Symbol任意 オブジェクト
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()グループ分け groupBy ( items, callbackfn ) groupBy ( items, callbackfn )
外部リンク
- ECMA-262 (英語)
WeakMap Objects ES2024 (15) ES2023 (14) ES2022 (13) WeakMap.prototype [ @@toStringTag ] ES2024 (15) ES2023 (14) ES2022 (13) WeakMap.prototype.constructor ES2024 (15) ES2023 (14) ES2022 (13) WeakMap.prototype ES2024 (15) ES2023 (14) ES2022 (13)
コンストラクタ
構文 | 説明 |
---|---|
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 ) | 要素追加・更新 |