WeakMap
JavaScript
の
Map
と同様の機能を提供するが,
キー
が
ガベージコレクション
に回収されるという特徴を持つ.
オブジェクト
のみが
キー
になる
WeakMap
からを除いて
オブジェクト
への
参照
がなくなった場合,
ガベージコレクション
に削除される.
WeakMap
は
キー
の取得をサポートせず,他からの
キー
への
参照
が失われると
値
を取り出すことができなくなるため
ガベージコレクション
が回収する.
ユースケース
キャッシュ
の作成
ある
オブジェクト
に対する計算結果を
WeakMap
に持たせることで,
オブジェクト
が破棄されるタイミングで同時に
キャッシュ
も破棄される.
同様のものに
WeakSet
がある.