试一试
const weakset = new WeakSet();
const object1 = {};
const object2 = {};
weakset.add(object1);
console.log(weakset.has(object1));
// Expected output: true
console.log(weakset.has(object2));
// Expected output: false
语法
js
has(value)
参数
返回值
如果指定的值存在于 WeakSet 对象中,则返回 true;否则返回 false。如果 value 不是对象或 未注册的 Symbol,则始终返回 false。
示例
使用 has()
js
const ws = new WeakSet();
const obj = {};
ws.add(window);
ws.has(window); // returns true
ws.has(obj); // returns false
// Storing a non-registered symbol
const sym = Symbol("foo");
ws.add(sym);
ws.add(Symbol.iterator);
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-weakset.prototype.has |
浏览器兼容性
加载中…