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

【Node.js24.x】WeakSet::WeakSet()関数の使い方

WeakSet関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

WeakSet関数は、オブジェクトの集合(コレクション)を生成するコンストラクタ関数です。この関数によって作成されるWeakSetオブジェクトは、格納するオブジェクトに対して「弱い参照(weak reference)」を保持するという特徴があります。WeakSet内のオブジェクトが他のどこからも参照されなくなった場合、ガベージコレクションによって自動的にメモリから解放され、同時にWeakSetからも削除されます。

この「弱い参照」の特性は、メモリリークの防止に非常に有効です。特定のオブジェクトに付随する情報をWeakSetで管理している場合、そのオブジェクトが不要になり他の場所から参照されなくなれば、WeakSetからも自動的に消去され、不要なメモリの占有を防ぎます。

WeakSetに格納できるのはオブジェクトのみで、プリミティブ値は格納できません。また、要素の数を取得するsizeプロパティを持たず、格納されている要素を直接列挙(イテレート)することもできません。これは、ガベージコレクションによる要素の削除が予測できないため、意図しない動作を避けるための設計です。主に、オブジェクトの生存期間を追跡することなく、その存在をマークしたり、プライベートなメタデータを関連付けたりする用途に適しています。

構文(syntax)

1const object1 = {};
2const object2 = {};
3const myWeakSet = new WeakSet([object1, object2]);

引数(parameters)

iterable

  • iterable: 初期化に使用するイテラブルオブジェクト。WeakSetに格納する要素の初期セットを定義します。

戻り値(return)

WeakSet

WeakSetコンストラクタは、新しいWeakSetオブジェクトを生成して返します。このオブジェクトは、ガベージコレクションの対象となるオブジェクトの集合を保持するために使用されます。

関連コンテンツ