這篇文章帶給大家的內容是關於ES6中WeakSet的簡單介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
WeakSet和Set差不多,但是有些不同:
WeakSet只能儲存對象,不能儲存任意值
WeakSet不可迭代
WeakSet是弱引用,也就是如果沒有變數引用WeakSet內的值,很容易被回收
new WeakSet([iterable]);
因為只能儲存對象,所以這裡我想只能傳入類似物件陣列之類的東西
物件陣列
new WeakSet([{name:1},{name:2}]) //WeakSet(2){{name:1},{name:2}}
let weakset=new WeakSet() weakset.add({num:1}) weakset.add({num:2})
let data={num:1} let weakset=new WeakSet() weakset.add(data) weakset.add({num:2}) weakset.has(data) //true weakset.has({num:2}) //false
let data={num:1} let weakset=new WeakSet() weakset.add(data) weakset.add({num:2}) weakset.delete(data) //true weakset.delete({num:2}) //false
弱引用特性
let weakset=new WeakSet([{num:1}]) setTimeout(()=>console.log(weakset),3000) // 3s 后输出,可以看到,数据没了 WeakSet {}
以上是ES6中WeakSet的簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!