【JavaScript ECMAScript】WeakSet::WeakSet.prototype.addインスタンスメソッドの使い方
WeakSet.prototype.add()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
WeakSet.prototype.add()メソッドは、指定されたオブジェクトをWeakSetオブジェクトに追加するメソッドです。WeakSetは、一意なオブジェクトのコレクションを格納するために使用されますが、JavaScriptの通常のSetとはいくつかの重要な点で異なります。
このadd()メソッドでWeakSetに追加できるのは、オブジェクトのみです。プリミティブ値(文字列、数値、真偽値など)を渡そうとすると、TypeErrorが発生します。これはWeakSetが、メモリ管理を効率化するためにオブジェクトへの「弱参照」を保持するという特性を持つためです。弱参照とは、もしWeakSet内に含まれるオブジェクトが、他のどこからも参照されなくなった場合に、JavaScriptのガベージコレクタがそのオブジェクトを自動的にメモリから解放できることを意味します。これにより、不要になったオブジェクトがメモリに残り続ける「メモリリーク」のリスクを低減できます。
add()メソッドは、引数として受け取ったオブジェクトをWeakSetに追加します。もし追加しようとしたオブジェクトがすでにWeakSet内に存在する場合、WeakSetは変更されず、既存の要素が重複して追加されることはありません。メソッドの呼び出し後、更新されたWeakSetオブジェクト自身が返されます。WeakSetは、DOM要素のグループや、関連するメタデータを一時的に保持するなど、オブジェクトの生存期間を直接管理せずに追跡したい場合に特に有用です。
構文(syntax)
1const weakSetInstance = new WeakSet(); 2const valueToAdd = {}; 3weakSetInstance.add(valueToAdd);
引数(parameters)
value
- value: object: WeakSetに格納するオブジェクト
戻り値(return)
WeakSet
このメソッドは、指定されたオブジェクトを WeakSet に追加します。 追加後、メソッドが呼び出された WeakSet インスタンス自身を返します。