没有合适的资源?快使用搜索试试~ 我知道了~
JavaScript ES6中Map与WeakMap数据结构的应用与特性解析
0 下载量 161 浏览量
2025-03-06
08:34:07
上传
评论
收藏 495KB PDF 举报
温馨提示
内容概要:本文主要介绍了 JavaScript ES6 中新增的两种数据结构——Map 和 WeakMap。相较于传统的对象来储存键值对而言,Map 提供了一种更为灵活的方式来进行键值映射。它可以支持任意类型的键(如对象、数字甚至是其他数据类型),解决了传统对象只能以字符串或符号作为键的问题,同时还能提供方便地获取键值对的方法,如 size、set、get、has、delete、clear以及迭代方法。另一方面,WeakMap是一种特殊的键只能是对象的映射表。它与普通的 Map 相比最大特点在于对于其内部键对象的持有方式为‘弱’引 用。这种特殊性质使得当一个对象除了存在于 WeakMap 内之外没有其他的引用的时候,该对象会被当做垃圾回收。这就意味着即使我们不小心将一些占用大量内存的对象加入到了 WeakMap 里,只要该对象再无其他引用就有可能很快被清除掉,防止了可能的内存泄露情况发生。文章也具体讲解了一些使用场景,以及性能上的一些优点。 适合人群:对于希望深入了解现代 JavaScript 编程环境中高级数据结构特性的开发人员,尤其是那些有一定 ES6 使用经验的人群。 使用场景及
资源推荐
资源详情
资源评论




























Map、WeakMap数据结构
Map数据结构
1. 键值对数据集合的特点:键不可重复
2. Map 集合专门用于存储多个键值对数据;在 Map 出现之前,我们使用的是对象的方式来存储键值
对,键是属性名,值是属性值
3. 使用对象存储有以下问题:
1. 键名只能是字符串
2. 获取数据的数量不方便
3. 键名容易跟原型上的名称冲突
4. 创建map
使用场景
1. 由于对象只能使用 String 字符串类型作为对象的key,在ES6之后添加了 Symbol 类型也可以作为
对象的key值
2. 当需要使用其他数据类型作为key值时,比如对象、数组等,就可以使用 Map 数据结构
实例方法和属性
1. size :只读属性,获取当前 Map 中键的数量
2. set(键, 值) :设置一个键值对,键和值可以是任何类型
如果键不存在,则添加一项
如果键已存在,则修改它的值
比较键的方式和 Set 相同
3. get(键) :根据一个键得到对应的值
4. has(键) :判断某个键是否存在
// 创建一个空的map
new Map();
// 创建一个具有初始内容的map,初始内容来自于可迭代对象每一次迭代的结果,但是,它要求每一次
迭代的结果必须是一个长度为2的数组,数组第一项表示键,数组的第二项表示值
new Map(iterable);
// 例:
const person1 = { name: '兜兜' };
const person2 = { name: '胖妹' };
const map = new Map([[person1, 'aaa'], [person2, 'bbb']]);
console.log(map);
// Map(2) {
// {name: '兜兜'} => 'aaa',
// {name: '胖妹'} => 'bbb',
// }
资源评论


喜欢代码的新之助
- 粉丝: 2754
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于单片机的电子时钟的方案设计书大学本科方案设计书.doc
- 面板数据模型与stata软件应用.doc
- chapter4---关系数据库的规范化设计-答案.doc
- PLC自动售货机系统设计方案.doc
- 泛在电力物联网通信需求及技术适用性分析.docx
- 浅析大数据背景下的档案管理工作.docx
- Java-FlexPaper-swfTools仿百度文库文档在线预览系统方案设计书与实现.doc
- 计算机系统集成的发展趋势探讨.docx
- 基于区域创新网络视角下的双创平台运行机制研究现状综述.docx
- 软件开发过程中的团队管理.doc
- CAD全站仪和编程计算器在工程测量中.doc
- 学校网络实验室建设方案.docx
- 电气自动化电动机技术发展现状、工作原理和运行维护.doc
- 项目管理信息化在电力施工企业的个性化应用.docx
- 计算机网络中信号SPD对传输速率的影响毕业论文.doc
- 13-14-2-计算机网络-课程设计任务书1.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
