小编给大家分享一下ES6中WeakMap是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
概述
WeakMap和Map使用上类似,在特性上和Set类似,和Map相比,有一下特点
不可枚举
WeakMap的key只能是对象
WeakMap是弱引用,WeakMap内的key如果没有引用,将会被垃圾回收机制回收
初始化
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后输出一下内容,数据消失了
WeakMap {}
看完了这篇文章,相信你对ES6中WeakMap是什么有了一定的了解,想了解更多相关知识,欢迎关注天达云行业资讯频道,感谢各位的阅读!