它與set十分相似,物件的值也不能是重複的,與set不同點:1.weakset成員只能夠是物件。
2.作為weakset成員的物件都是弱引用,即垃圾**機制不考慮weakset對該物件的引用,也就是說,如果其他物件都不再引用該物件,那麼垃圾**機制會自動**該物件所占用的記憶體,不考慮 該物件還存在於weakset之中。這個特點意味著,無法引用weakset的成員,因此weakset是不可遍歷的。
3.使用weakset儲存物件例項的好處是,由於是對物件例項的引用,不會被計入記憶體**機制,所以刪除例項的時候,不用考慮weakset,也不會出現記憶體洩漏。
//---錯誤---
var weakset = new
weakset();
weakset.add(5);
//---正確---
var weakset = new
weakset();
weakset.add({});
//新增
var weakset = new weakset([[1, 2], [3, 4]]);
//---例子------------------------------------
var weakset = new
weakset();
let aobj = ;
let bobj = new string("你好");
let cobj = new number(8);
weakset.add(aobj);
weakset.add(bobj);
weakset.add(cobj);
//---刪除-----
weakset.delete
(aobj);
bobj=null; //
把物件刪除,weakset中的物件也沒了
console.log(weakset.has(bobj)); //
weakset不能取值,也不能顯示,只用來表示是否有重複的物件
ES6學習之路8 WeakSet資料結構
weakset 結構與 set 類似,也是不重複的值的集合。但是,它與 set 有兩個區別。1.weakset 的成員只能是物件,而不能是其他型別的值。let weakset new weakset weakset.add weakset weakset.add 1 uncaught typeerr...
Set資料結構以及WeakSet
特點 相比array,裡面的元素具有唯一性。建立 new set value value必須具有 iteable 介面的資料結構 屬性 1.construct 2.size 方法 1.操作方法 1 add value 2 delete value 3 has value 4 clear 2.遍歷方法...
ES6 資料結構)
一 set 用法 set 對陣列進行轉化 新增重複元素不會生效 應用 去重複功能 轉化過程不會有資料型別的轉換 新增 刪除 判斷是否存在的方法 讀取 遍歷 的幾種方法 二 weakset 與set的區別 1.weakset 的元素只能是物件 2.weakset 的物件是弱應用 不會檢測是否在其他中用...