[Go to site: main page, start]

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WeakSet() 构造函数

基线 广泛可用

自 2015年9月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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。它们是相似的对象,但它们不是同一个对象。因此,它们都会被添加到集合中。

规范

规范
ECMAScript® 2027 Language Specification
# sec-weakset-constructor

浏览器兼容性

参见