【JavaScript ECMAScript】WeakSet::WeakSet.prototype.hasインスタンスメソッドの使い方
WeakSet.prototype.has()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
WeakSet.prototype.has()メソッドは、呼び出し元のWeakSetオブジェクト内に指定された特定のJavaScriptオブジェクトが存在するかどうかを判定するメソッドです。このメソッドは、確認したいオブジェクトを引数として一つ受け取ります。もしそのWeakSet内に指定されたオブジェクトがメンバーとして含まれていればtrueを返し、そうでなければfalseを返します。
WeakSetは、数値や文字列などのプリミティブ値ではなく、常にオブジェクトのみを格納できる特殊なコレクションです。そのため、has()メソッドに渡す引数も必ずオブジェクトである必要があります。WeakSetの大きな特徴として、要素への「弱い参照」を保持することが挙げられます。これは、WeakSet内のオブジェクトが他の場所から参照されなくなった場合、JavaScriptのガベージコレクションによってWeakSetから自動的に削除される可能性があることを意味します。したがって、has()メソッドの結果は、時間経過とともに変化する可能性があります。
このメソッドは、メモリ効率の良い方法で特定のオブジェクトの存在を追跡したい場合や、オブジェクトが特定のグループに属しているかを確認したい場面で利用されます。
公式リファレンス: WeakSet.prototype.has()
構文(syntax)
1const myWeakSet = new WeakSet(); 2const myObject = {}; 3 4myWeakSet.add(myObject); 5 6const hasObject = myWeakSet.has(myObject);
引数(parameters)
value
- value: any: WeakSetに要素が存在するかどうかを確認したい値
戻り値(return)
Boolean
引数で指定されたオブジェクトがWeakSet内に存在するかどうかを真偽値(trueまたはfalse)で返します。