このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

WeakSet.prototype.delete()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年9月以降、すべてのブラウザーで利用可能です。

delete() メソッドは、WeakSet オブジェクトから指定された要素を取り除きます。

試してみましょう

const weakset1 = new WeakSet();
const object1 = {};

weakset1.add(object1);

console.log(weakset1.has(object1));
// 予想される結果: true

weakset1.delete(object1);

console.log(weakset1.has(object1));
// 予想される結果: false

構文

ws.delete(value);

引数

value

必須。 WeakSet オブジェクトから取り除くオブジェクトです。

返値

WeakSet オブジェクトの中の要素が正常に削除された場合は true を返します。 valueWeakSet の中で見つからなかったり、 value がオブジェクトではなかった場合は false を返します。

delete() メソッドの使用

js
var ws = new WeakSet();
var 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

ブラウザーの互換性

関連情報