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

【JavaScript ECMAScript】WeakMap::WeakMap.prototype.setインスタンスメソッドの使い方

WeakMap.prototype.set()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

WeakMap.prototype.set()メソッドは、WeakMapオブジェクトに新しいキーと値のペアを追加したり、既存のキーに対応する値を更新したりするメソッドです。WeakMapは、キーに対する「弱い参照」を保持する特殊なMapオブジェクトであり、この点が通常のMapと大きく異なります。弱い参照とは、あるオブジェクトが他のどこからも参照されなくなった場合に、JavaScriptのガベージコレクタがそのオブジェクトを自動的にメモリから解放できることを意味します。

このset()メソッドを使用する際は、第一引数にキーとして必ずオブジェクトを指定する必要があります。文字列や数値などのプリミティブ値はキーとして使用できませんので注意が必要です。第二引数には、キーに関連付けたい任意の値を指定します。メソッドが実行されると、指定されたキーと値のペアがWeakMapに追加されるか、もしキーが既に存在する場合はそのキーに関連付けられた値が新しい値に更新されます。

set()メソッドの戻り値は、操作後のWeakMapオブジェクト自体です。これにより、複数のset()操作をメソッドチェーンとして記述することが可能です。WeakMapとset()メソッドは、特に一時的なデータやキャッシュなど、オブジェクトが不要になったときに自動的にメモリから削除されてほしい場面でメモリリークを防ぎ、効率的なメモリ管理を実現するために非常に有用です。キーとして指定されたオブジェクトがガベージコレクションされると、WeakMap内の対応するエントリも自動的に削除されます。

公式リファレンス: WeakMap.prototype.set()

構文(syntax)

1const weakMapInstance = new WeakMap();
2const keyObject = {}; // キーはオブジェクトである必要があります
3const value = '格納するデータ';
4
5weakMapInstance.set(keyObject, value);

引数(parameters)

key, value

  • key: オブジェクト型のキー。このキーに関連付けられる値があります。
  • value: キーに関連付けられる値。任意の値を指定できます。

戻り値(return)

WeakMap

WeakMap.prototype.set() メソッドは、指定されたキーと値のペアを WeakMap に追加または更新します。このメソッドの戻り値は、操作が行われた WeakMap インスタンス自身です。

関連コンテンツ