WeakSet【弱参照一意コレクション】オブジェクトの基本操作
・new WeakSet【コンストラクタ】
・add【要素追加】
・delete【要素削除】
・has【要素有無】
メモ
概要
- WeakSet【弱参照一意コレクション】オブジェクトの基本操作
- 列挙方法はなし
外部リンク
- ECMA-262 (英語)
WeakSet ( [ iterable ] ) ES2024 (15) ES2023 (14) ES2022 (13) WeakSet.prototype.add ( value ) ES2024 (15) ES2023 (14) ES2022 (13) WeakSet.prototype.delete ( value ) ES2024 (15) ES2023 (14) ES2022 (13) WeakSet.prototype.has ( value ) ES2024 (15) ES2023 (14) ES2022 (13)
構文
操作 | 構文 | 戻り値 | 例外 | 備考 |
---|---|---|---|---|
コンストラクタ | 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