Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】WeakMap::WeakMap() constructorコンストラクタの使い方

WeakMap() constructorコンストラクタの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

WeakMap() constructorクラスは、キーと値のペアを保持するコレクションであるWeakMapオブジェクトを新しく生成するためのクラスです。WeakMapはJavaScriptに標準で備わるグローバルオブジェクトの一つであり、データの関連付けを効率的に管理するために使用されます。このクラスで作成されるWeakMapの大きな特徴は、その「弱い参照」の性質にあります。具体的には、キーとして指定できるのはオブジェクト型のみであり、そのキーオブジェクトに対する参照がWeakMap以外に存在しなくなった場合、ガベージコレクタによってキーとそれに対応する値のペアが自動的にメモリから解放されます。これにより、開発者が手動でメモリ解放を管理する必要がなくなり、不要なオブジェクトがメモリに残り続けることによるメモリリークのリスクを効果的に低減できます。

Mapオブジェクトとは異なり、WeakMapは要素の列挙(keys(), values(), entries()メソッドなど)や、要素数を取得するsizeプロパティを持ちません。これは、ガベージコレクションによっていつ要素が削除されるか予測できないため、要素の完全なリストを提供することができないためです。主に、DOM要素に関連するデータの管理や、オブジェクトにプライベートなデータを付与する際、あるいはキャッシュの自動的なクリーンアップを目的として利用されます。システムのリソースを効率的に使用したい場合に有効な選択肢となります。

公式リファレンス: WeakMap() constructor

構文(syntax)

1new WeakMap();

引数(parameters)

iterable = undefined

  • iterable: WeakMapの初期化に使用する、キーと値のペアのイテラブルオブジェクト。省略された場合は空のWeakMapが作成されます。

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ