摘要:概述和使用上类似,在特性上和类似,和相比,有一下特点不可枚举的只能是对象是弱引用,内的如果没有引用,将会被垃圾回收机制回收初始化添加删除包含弱引用特性后输出一下内容,数据消失了
0x000 概述
WeakMap和Map使用上类似,在特性上和Set类似,和Map相比,有一下特点
不可枚举
WeakMap的key只能是对象
WeakMap是弱引用,WeakMap内的key如果没有引用,将会被垃圾回收机制回收
0x001 初始化new WeakMap([[{},1]])0x002 添加
let weakmap=new WeakMap() weakmap.add({},"1") weakmap.add({num:1},()=>{})0x003 删除
let obj={} let weakmap=new WeakMap() weakmap.add(obj,"1") weakmap.add({},"2") weakmap.delete(obj) //true weakmap.delete({}) //false0x004 包含
let obj={} let weakmap=new WeakMap() weakmap.add(obj,"1") weakmap.has(obj)//true weakmap.has({})//false0x005 弱引用特性
let weakmap=new WeakMap([[{},1]]) setTimeout(()=>{console.log(weakmap)},3000) // 3s后输出一下内容,数据消失了 WeakMap {}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99247.html
Set有对应的WeakSet, Map也有WeakMap。这一篇,我们就来学习一下WeakMap有写什么特性。先来看一下WeakMap的基本特性: 1: WeakMap是一种存储多个键值对的无序列表 2: WeakMap的键必须是非null的对象类型 3: WeakMap的键对应的值,可以是任意类型 接下来看一下WeakMap的接口方法:一:WeakMap的新建与初始化与Map相同的,WeakM...
摘要:一个对象若只被弱引用所引用,则被认为是不可访问或弱可访问的,并因此可能在任何时刻被回收。也就是说,一旦不再需要,里面的键名对象和所对应的键值对会自动消失,不用手动删除引用。如果有错误或者不严谨的地方,请务必给予指正,十分感谢。 前言 我们先从 WeakMap 的特性说起,然后聊聊 WeakMap 的一些应用场景。 特性 1. WeakMap 只接受对象作为键名 const map = ...
摘要:中对的要求主要是对非对象仅保留弱引用,且取值是复杂度,这导致了它的两个特性不能求大小,更不能枚举。按说这种关乎内存管理的对象是没法的。但是对有一个很奇妙的。在中的每一个中设置一个属性属性名是的唯一。值为该在中对应的。同时取值也是复杂度的。 ES6 中对 WeakMap 的要求主要是对 key(非 null 对象) 仅保留弱引用,且取值是 O(1) 复杂度,这导致了它的两个特性: 不...
摘要:只有一个属性,那就是栗子可展开收缩的表格源码展开收起张三我很开心李四我也很开心王五我比张三和李四更开心效果 0x001 引出问题 让我们先来看一个栗子: class App extends React.Component { render() { return ( ) } } Reac...
阅读 919·2021-11-16 11:45
阅读 2126·2021-10-09 09:44
阅读 1340·2019-08-30 14:03
阅读 1126·2019-08-26 18:28
阅读 3327·2019-08-26 13:50
阅读 1715·2019-08-23 18:38
阅读 3450·2019-08-23 18:22
阅读 3588·2019-08-23 15:27