WeakSet() 构造函数

WeakSet() 构造函数创建 WeakSet 对象。

语法

js
new WeakSet()
new WeakSet(iterable)

备注: WeakSet() 构造函数只能使用 new 调用。不使用 new 而直接调用会抛出 TypeError

参数

iterable 可选

如果传入了一个可迭代对象,这个对象的所有元素都会被添加到新的 WeakSet 对象中。null 会被视为 undefined

示例

使用 WeakSet 对象

js
const ws = new WeakSet();
const foo = {};
const bar = {};

ws.add(foo);
ws.add(bar);

ws.has(foo); // true
ws.has(bar); // true

ws.delete(foo); // 将 foo 从集合中移除
ws.has(foo); // false,foo 已经被移除
ws.has(bar); // true,bar 被保留

请注意 foo !== bar。它们是相似的对象,但它们不是同一个对象。因此,它们都会被添加到集合中。

规范

Specification
ECMAScript Language Specification
# sec-weakset-constructor

浏览器兼容性

BCD tables only load in the browser

参见