小編給大家分享一下ES6中WeakMap是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
WeakMap和Map使用上類似,在特性上和Set類似,和Map相比,有一下特點(diǎn)
不可枚舉
WeakMap的key只能是對(duì)象
WeakMap是弱引用,WeakMap內(nèi)的key如果沒有引用,將會(huì)被垃圾回收機(jī)制回收
初始化new WeakMap([[{},1]])添加
let weakmap=new WeakMap() weakmap.add({},"1") weakmap.add({num:1},()=>{})刪除
let obj={} let weakmap=new WeakMap() weakmap.add(obj,"1") weakmap.add({},"2") weakmap.delete(obj) //true weakmap.delete({}) //false包含
let obj={} let weakmap=new WeakMap() weakmap.add(obj,"1") weakmap.has(obj)//true weakmap.has({})//false弱引用特性
let weakmap=new WeakMap([[{},1]]) setTimeout(()=>{console.log(weakmap)},3000) // 3s后輸出一下內(nèi)容,數(shù)據(jù)消失了 WeakMap {}
看完了這篇文章,相信你對(duì)ES6中WeakMap是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝各位的閱讀!