首頁 > web前端 > js教程 > 主體

ES6中WeakSet的簡單介紹

不言
發布: 2018-11-14 16:23:26
轉載
2961 人瀏覽過

這篇文章帶給大家的內容是關於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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!