WeakSet.prototype.add()
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年9月以降、すべてのブラウザーで利用可能です。
add() は WeakSet インターフェイスのメソッドで、指定された値を、まだ存在しない場合、この集合に挿入します。
試してみましょう
const weakset = new WeakSet();
const object = {};
weakset.add(object);
console.log(weakset.has(object));
// 予想される結果: true
try {
weakset.add(1);
} catch (error) {
console.log(error);
// 予想される結果 (Chrome): TypeError: Invalid value used in weak set
// 予想される結果 (Firefox): TypeError: WeakSet value must be an object, got 1
// 予想される結果 (Safari): TypeError: Attempted to add a non-object key to a WeakSet
}
構文
js
add(value)
引数
返値
この WeakSet オブジェクトです。
例外
例
>add() の使用
js
const ws = new WeakSet();
ws.add(window); //window オブジェクトを WeakSet へ追加
ws.has(window); // true
// WeakSet は引数としてオブジェクトのみを取ります。
ws.add(1);
// 結果は "TypeError: Invalid value used in weak set" (Chrome)
// "TypeError: 1 is not a non-null object" (Firefox)
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-weakset.prototype.add> |