一、Set
1. 它类似于数组,但是里面的成员值是唯一的。
2. Set中的值可以为任何类型的值。
3. 在Set中认为NAN是相同的,不会同时传入两个NAN,而 === 认为NAN是不同的。
4. NAN === NAN
5. Set的操作方法有:Set.prototype.[add(), delete(), has(), clear()]。
6. Set的遍历方法有:Set.prototype.[keys(), values(), entries(), forEach()]。
二、WeakSet 与 Set区别
1. WeakSet的成员只能是对象,而不能为其他类型的值。
2. WeakSet的对象都是弱引用,即垃圾回收机制不考虑 WeakSet 对该对象的引用。
也就是说,如果其他对象都不再引用该对象,那么垃圾回收机制会自动回收该对象所占用的内存,
不考虑该对象还存在于 WeakSet 之中。
3. WeakSet的操作方法有:WeakSet.prototype.[add(), delete(), has()]。
4. WeakSet没有size属性,所以没办法遍历。因为它是弱引用,不确定什么时候就消失了。