WeakSet
2022年10月14日大约 1 分钟
概述
- 描述:WeakSet 对象允许将弱保持对象存储在一个集合中
- 与Set相比,WeakSet 只能是对象的集合,而不能是任何类型的任意值
- WeakSet持弱引用:集合中对象的引用为弱引用
- 如果没有其他的对 WeakSet 中对象的引用,那么这些对象会被当成垃圾回收掉
- WeakSet 中没有存储当前对象的列表,是不可枚举的
- 语法:
new WeakSet([iterable])
- 参数
- iterable:如果传递了一个iterable对象,它的所有元素都将被添加到新的 WeakSet 中,null 被认为是 undefined
WeakSet.length
值为 0
WeakSet.prototype.add()
- 描述:在 WeakSet 对象的最后一个元素后添加新的对象
- 语法:
ws.add(value)
- 参数
- value:添加进 WeakSet 集合中的对象
- 返回值:WeakSet 对象
WeakSet.prototype.delete()
- 描述:从 WeakSet 对象中移除指定的元素
- 语法:
ws.delete(value)
- 参数
- value:从 WeakSet 对象中移除的对象
- 返回值
- 如果在 WeakSet 对象中成功移除元素则返回 true
- 如果 key 没有在 WeakSet 中找到或者 key 不是一个对象,则返回 false
WeakSet.prototype.has()
- 描述:查询 WeakSet 是否存在相应对象
- 语法:
ws.has(value)
- 参数
- value:被查询的对象
- 返回值:如果 WeakSet 对象中存在指定的元素,返回 true。否则返回 false