WeakSet【弱参照一意コレクション】オブジェクト

メモ コンストラクタ プロパティ メソッド

メモ

概要

  • 弱参照一意コレクション オブジェクト
    • 要素値は、一意のオブジェクトのみ
    • 列挙方法はなし
    • 要素値のオブジェクトの参照がなくなればガベージコレクションの対象
    • クラス定義による継承可能

参考:その他 配列・コレクション

外部リンク


コンストラクタ

構文説明
new WeakSet( [ iterable ] )コンストラクタ

プロパティ

プロパティ説明
WeakSet.prototype[ @@toStringTag ] タグ (下記 例を参照)
[Symbol.toStringTag]:"WeakMap"
WeakSet.prototype.constructorコンストラクタ定義 (下記 例を参照)
WeakSet.prototypeプロトタイプ (下記 例を参照)

メソッド

メソッド説明
WeakSet.prototype.add(value)要素追加
WeakSet.prototype.delete(value)要素削除
WeakSet.prototype.has(value)要素有無

console.log(WeakSet.prototype.constructor);
// 出力:function WeakSet() { [native code] }
console.log(WeakSet.prototype);
// 出力:
// WeakSet
//   add:function add()
//   constructor:function WeakSet()
//   delete:function delete()
//   has:function has()
//   Symbol(Symbol.toStringTag):"WeakSet"
//   __proto__:Object

var weakSet1 = new WeakSet();
console.log(weakSet1[Symbol.toStringTag]);
// 出力:WeakSet
console.log(weakSet1.constructor);
// 出力:function WeakSet() { [native code] }

var obj1 = new Object("obj1");
var obj2 = new Object("obj2");
weakSet1.add(obj1);
weakSet1.add(obj2);
weakSet1.delete(obj2);
console.log(weakSet1.has(obj1));  // 出力:true
console.log(weakSet1.has(obj2));  // 出力:false