WeakSet
WeakSet 和 Set結構相似,也是不重複的值的集合。可是與Set有兩個區別:javascript
- WeakSet成員只能是對象,不能是其餘類型的值。
- WeakSet中的對象都是弱引用,即垃圾回收機制不會考慮WeakSet對該對象的引用,若果其餘對象都再也不引用該對象,垃圾回收機制會自動回收該對象所佔的內存,不考慮對象是否還存在於WeakSet之中。
const b = [3,4];
const ws = new WeakSet(b);
複製代碼
稱爲wekeset 成員的是b數組的成員,而不是b數組自己,那麼意味着,數組的成員也只能是對象。java
方法
- WeakSet.prototype.add(val):添加一個新成員
- WeakSet.prototype.delete(val):清除指定實例成員
- WeakSet.prototype.has(val):返回布爾值,表示某個值是否存在於weakSet
用處
一個用處是存儲DOM節點,不用擔憂這些節點從文檔移除時引起內存泄漏。數組