情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

ECMAScript 6の新機能(14)ウィークマップ

ECMAScript 6でウィークマップが追加され、WeakMapクラスとして提供されています。

ウィークマップはマップの一種ですが、WeakMapクラスはMapクラスと下のような点で異なります。

  • WeakMapクラスのインスタンス中の、要素のキーに対する参照は弱い参照である
  • 要素のキーはオブジェクトでなければならない。
  • Mapクラスより使用できる関数が少ない。

この中で最も重要なのは1つ目の点です。

参照が弱いとはその参照が存在していてもその参照が参照しているオブジェクトがガベージコレクトの対象になるということです

また、弱い参照ではない参照を強い参照と言います。

すなわち、オブジェクトに弱い参照が幾つ存在していても強い参照が1つも存在しなくなった時点でオブジェクトはガベージコレクトの対象になります。

また、WeakMapクラスで提供されている関数は下のもののみです(以後WeakMapクラスのインスタンスをweakMapと表記します)。

  • weakMap.get関数
  • weakMap.set関数
  • weakMap.has関数
  • weakMap.delete関数

なお、WeakMapクラスのコンストラクタはMapクラスのものと同様です。

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-ecmascript 2015, ecmascript 6, Javascript