首頁 >web前端 >js教程 >ES6中WeakSet的簡單介紹

ES6中WeakSet的簡單介紹

不言
不言轉載
2018-11-14 16:23:063018瀏覽

這篇文章帶給大家的內容是關於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中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除