WeakSet.prototype.delete()
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年9月以降、すべてのブラウザーで利用可能です。
delete() は WeakSet インターフェイスのメソッドで、指定された値をこの集合から、存在すれば、取り除きます。
試してみましょう
const weakset = new WeakSet();
const object = {};
weakset.add(object);
console.log(weakset.has(object));
// 予想される結果: true
weakset.delete(object);
console.log(weakset.has(object));
// 予想される結果: false
構文
js
weakSetInstance.delete(value)
引数
返値
WeakSet オブジェクト内の値が正常に取り除かれた場合、true を返します。WeakSet 内にその値が見つからない場合、false を返します。value がオブジェクトまたは 未登録シンボルでない場合は、常に false を返します。
例
>delete() メソッドの使用
js
const ws = new WeakSet();
const obj = {};
ws.add(window);
ws.delete(obj); // false を返します。削除する obj が見つかりません。
ws.delete(window); // true を返します。正常に削除されます。
ws.has(window); // false を返します。 window はもう WeakSet の中にないからです。
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-weakset.prototype.delete> |