サーチ…


構文

  • 新しいWeakSet([iterable]);
  • weakset.add(value);
  • weakset.has(値);
  • weakset.delete(値);

備考

WeakSetの使用については、「 ECMAScript 6: WeakSetとは何か」を参照してください

WeakSetオブジェクトの作成

WeakSetオブジェクトは、弱く保持されたオブジェクトをコレクションに格納するために使用されます。 Setとの違いは、数値や文字列などのプリミティブ値を保存できないことです。また、コレクション内のオブジェクトへの参照は弱く保持されます。つまり、WeakSetに格納されているオブジェクトへの参照が他にない場合は、ガベージコレクションされます。

WeakSetコンストラクタには、任意の反復可能なオブジェクト(配列など)であるオプションのパラメータがあります。すべての要素が作成されたウィークセットに追加されます。

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet([obj1, obj2]);

値を追加する

WeakSetに値を追加するには、 .add()メソッドを使用します。このメソッドは連鎖可能です。

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet();
weakset.add(obj1).add(obj2);

値が存在するかどうかの確認

WeakSetに値が存在するかどうかを調べるには、 .has()メソッドを使用します。

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet([obj1]);
console.log(weakset.has(obj1)); // true
console.log(weakset.has(obj2)); // false

値の削除

ウィークセットから値を削除するには、 .delete()メソッドを使用します。このメソッドは、値が存在し、削除されている場合はtrue返し、それ以外の場合はfalse返しtrue

const obj1 = {},
      obj2 = {};

const weakset = new WeakSet([obj1]);
console.log(weakset.delete(obj1)); // true
console.log(weakset.delete(obj2)); // false


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow