【JavaScript ECMAScript】WeakMap::WeakMap.prototype.getインスタンスメソッドの使い方
WeakMap.prototype.get()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
WeakMap.prototype.get()メソッドは、WeakMapインスタンスから指定されたキーに対応する値を取得するメソッドです。WeakMapは、オブジェクトをキーとして、任意の値を関連付けることができるコレクションであり、特にキーへの参照が弱いという特性を持っています。
このメソッドは、引数としてキーとなるオブジェクトを一つ受け取ります。そして、WeakMap内にそのキーが存在し、関連付けられた値がある場合にはその値を返します。もし指定されたキーがWeakMap内に存在しない場合、またはキーとして与えられたオブジェクトが以前に登録されたことがない場合は、undefinedを返します。
WeakMapの最も重要な特性は、キーとして登録されたオブジェクトが他のどこからも参照されなくなった場合、ガベージコレクションによって自動的にメモリから解放される点です。これにより、WeakMap内に保持されていた関連付けられたデータも自動的に削除されるため、メモリリークを防ぐことができます。WeakMap.prototype.get()メソッドを使用する際は、この特性を理解しておくことが重要です。キーオブジェクトがガベージコレクションされてしまった場合、たとえ以前にそのキーで値が登録されていても、get()メソッドはundefinedを返します。
このメソッドは、特定のオブジェクトに対して付随する情報を一時的に保持し、そのオブジェクトが不要になったら関連情報も自動的に破棄したい場合に非常に有用です。例えば、DOM要素にカスタムデータを関連付け、その要素がDOMから削除されたらデータも自動的にクリーンアップされるといったシナリオで活用できます。
構文(syntax)
1const weakMapInstance = new WeakMap(); 2const someObjectKey = {}; 3weakMapInstance.set(someObjectKey, 'someValue'); 4 5const retrievedValue = weakMapInstance.get(someObjectKey);
引数(parameters)
key
- key: マップから値を取得するために使用するキー。WeakMapのキーはオブジェクトである必要があります。
戻り値(return)
任意の値
指定されたキーに対応する値を取得します。キーが存在しない場合は undefined を返します。