WeakSet【弱参照一意コレクション】オブジェクトの基本操作
・new WeakSet【コンストラクタ】
・add【要素追加】
・delete【要素削除】
・has【要素有無】

メモ

概要

  • WeakSet弱参照一意コレクション】オブジェクトの基本操作
    • 列挙方法はなし

外部リンク

構文

操作構文戻り値例外備考
コンストラクタnew WeakSet( [ iterable ] ) WeakSet【弱参照一意コレクション】オブジェクトTypeError 例外
要素追加add( value ) WeakSet【弱参照一意コレクション】オブジェクトTypeError 例外既存要素:処理なし
要素削除delete( value ) true:要素削除
false:要素なし
要素有無has( value ) true:要素あり
false:要素なし

  • iterable:値から成るイテレータオブジェクト 及び それに準ずるもの (値の配列等)
  • value:要素の値

TypeError 例外new WeakSet【コンストラクタ】new なし (関数として呼び出し)
入力のiterableが不正
add【要素追加】入力のvalueがオブジェクト以外

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

var array = [ obj1, obj2 ];
var weakSet2 = new WeakSet(array);
console.log(weakSet2.has(obj1));  // 出力:true
console.log(weakSet2.has(obj2));  // 出力:true

var weakSetNG1 = WeakSet();         // TypeError 例外 (new なし)
var weakSetNG2 = new WeakSet(123);  // TypeError 例外 (オブジェクト以外)
var weakSet1 = new WeakSet();
var obj1 = new Object("obj1");
var obj2 = new Object("obj2");
weakSet1.add(obj1);
weakSet1.add(obj2);
weakSet1.add(123);                // TypeError 例外 (オブジェクト以外)
console.log(weakSet1.has(obj1));  // 出力:true
console.log(weakSet1.has(obj2));  // 出力:true
weakSet1.delete(obj2);
console.log(weakSet1.has(obj1));  // 出力:true
console.log(weakSet1.has(obj2));  // 出力:false