ES6 WeakSet資料結構 與Set十分相似

2022-03-25 03:27:57 字數 1143 閱讀 9256

它與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 的物件是弱應用 不會檢測是否在其他中用...