您的当前位置:首页ES6中WeakMap的简单介绍

ES6中WeakMap的简单介绍

2020-11-27 来源:爱问旅游网

本篇文章给大家带来的内容是关于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 {}
显示全文