试一试
const weakset = new WeakSet();
const object = {};
weakset.add(object);
console.log(weakset.has(object));
// Expected output: true
weakset.delete(object);
console.log(weakset.has(object));
// Expected output: false
语法
js
weakSetInstance.delete(value)
参数
返回值
如果 WeakSet 对象中的某个项已成功移除,则返回 true。如果未找到该项,则返回 false。如果 value 不是对象或 未注册的 Symbol,则始终返回 false。
示例
使用 delete()
js
const ws = new WeakSet();
const obj = {};
ws.add(window);
ws.delete(obj); // Returns false. No obj found to be deleted.
ws.delete(window); // Returns true. Successfully removed.
ws.has(window); // Returns false. The window is no longer present in the WeakSet.
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-weakset.prototype.delete |
浏览器兼容性
加载中…