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

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

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

作成日: 更新日:

基本的な使い方

WeakMap.prototype.delete()メソッドは、WeakMapオブジェクトから特定のキーとその値のペアを削除するメソッドです。WeakMapは、キーとしてオブジェクトのみを受け入れ、そのキーへの参照を「弱い参照」として保持するという特殊な性質を持つコレクションです。この「弱い参照」により、キーとなるオブジェクトがJavaScriptプログラム内の他のどこからも参照されなくなった場合、自動的にガベージコレクションの対象となり、メモリが解放されます。WeakMapはこのガベージコレクションの仕組みと連携し、キーが解放されると同時に、WeakMap内の対応するエントリも自動的に削除されるため、メモリリークを防ぐのに非常に効果的です。

このdelete()メソッドは、WeakMapインスタンスが保持する要素のうち、引数として指定されたオブジェクトをキーとするエントリを明示的に削除するために使用します。メソッドは、削除したいキーとなるオブジェクトを引数として一つ受け取ります。指定されたキーがWeakMap内に存在し、対応するエントリが正常に削除された場合はtrueを返します。一方、もし指定されたキーがWeakMap内に存在しない場合は、何も削除されずにfalseを返します。このメソッドを利用することで、不要になった特定のデータエントリをWeakMapから手動で取り除き、よりきめ細かくメモリの使用を管理することが可能になります。例えば、Webページ上の特定の要素(DOM要素)に付随する情報をWeakMapで管理している場合、その要素がページから取り除かれる際に、関連するWeakMapのエントリを明示的に削除する用途などに役立ちます。

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

構文(syntax)

1const weakMap = new WeakMap();
2const keyObject = {};
3weakMap.set(keyObject, 'someValue');
4weakMap.delete(keyObject);

引数(parameters)

key

  • key: マップから削除したいキー。WeakMapでは、キーとしてオブジェクトのみが使用できます。

戻り値(return)

boolean

指定されたキーと値のペアがWeakMapから正常に削除された場合はtrueを、削除されなかった場合はfalseを返します。

関連コンテンツ