首页  >  文章  >  web前端  >  ES6中WeakMap的简单介绍

ES6中WeakMap的简单介绍

不言
不言转载
2018-11-14 16:28:331769浏览

本篇文章给大家带来的内容是关于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删除