WeakMap
和Map
使用上相似,在特性上和Set
相似,和Map
相比,有一下特色code
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 {}