首頁  >  文章  >  web前端  >  ES6中WeakMap的簡單介紹

ES6中WeakMap的簡單介紹

不言
不言轉載
2018-11-14 16:28:331809瀏覽

這篇文章帶給大家的內容是關於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的簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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