WeakSet的使用其实和Set比较类似,他们的区别主要有两个:
- WeakSet的成员只能是对象,而不是能是别的类型的值
- WeakSet的对象都是弱引用,不能遍历
什么叫弱引用呢,就是如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于 WeakSet 之中。
WeakSet有三个方法:
- add(value) 增加某个值
- delete(value) 删除某个值
- has(value) 判断某个值是否存在
因为WeakSet不可遍历,WeakSet没有size
属性,没有forEach方法。
关于Set的用法可以参考这篇博客: