总结
- Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。
- 使用 add()增加值,使用 has()查询,通过 size 取得元素数量,以及使用 delete() 和 clear()删除元素;delete()返回一个布尔值,表示集合中是否存在要删除的值;
- Set 会维护值插入时的顺序,因此支持按顺序迭代。调用forEach方法并传入回调,依次迭代每个键/值对。
- WeakSet 结构与 Set 类似,也是不重复的值的集合;与 Set 有两个区别:1.WeakSet 的成员只能是对象,而不能是其他类型的值;2.WeakSet 中的对象都是弱引用,即垃圾回收机制不考虑 WeakSet 对该对象的引用,也就是说,如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于 WeakSet 之中。3.WeakSet 不可遍历
- 使用 add()再添加新值,可以使用 has()查询,还可以使用 delete()删除:
- WeakSet的用处是不阻止垃圾回收;