此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
WeakSet.prototype.delete()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年9月.
WeakSet 实例的delete() 方法从该WeakSet 对象中删除指定的元素。
In this article
尝试一下
const weakset1 = new WeakSet();const object1 = {};weakset1.add(object1);console.log(weakset1.has(object1));// Expected output: trueweakset1.delete(object1);console.log(weakset1.has(object1));// Expected output: false语法
js
weakSetInstance.delete(value)参数
value要从
WeakSet对象中删除的值。
返回值
如果成功在WeakSet 对象中删除了元素,则返回true。如果未在WeakSet 中找到该value,则返回false。如果value 不是对象或非全局注册的符号,则始终返回false。
示例
>使用 delete() 方法
js
const ws = new WeakSet();const obj = {};ws.add(window);ws.delete(obj); // 返回 false。没有找到要删除的对象。ws.delete(window); // 返回 true。成功删除。ws.has(window); // 返回 false。WeakMap 中已经不存在 window 对象。规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-weakset.prototype.delete> |