当前位置: 首页 > article >正文

ES6中的map和原生的对象有什么区别?

在 ES6 中,Map 和原生的对象(Object)都是用来存储键值对数据的集合,但它们有显著的区别。以下是它们之间的主要区别:

1. 键的类型

Object:
只允许使用字符串或符号作为键。其他类型的键(如数字或对象)会被自动转换为字符串。


const obj = {};
obj[1] = 'one'; // 键被转换为字符串 '1'
console.log(obj['1']); // 输出 'one'

Map:

可以使用任意类型的值作为键,包括对象、函数、数字等。


    const map = new Map();
    map.set(1, 'one');
    map.set({}, 'empty object');
    console.log(map.get(1)); // 输出 'one'
2. 键值对的遍历

Object:
使用 for…in 循环,或者 Object.keys(), Object.values(), Object.entries() 方法来遍历。


const obj = { a: 1, b: 2 };
for (const ke

http://www.kler.cn/a/533679.html

相关文章:

  • 数据结构-堆和PriorityQueue
  • Windows下怎么安装FFFmpeg呢?
  • AI取代人类?
  • 圆上取点(例题)
  • 了解比特币
  • 第28节课:前端项目实战—从需求分析到开发流程的全方位指南
  • 信息学奥赛一本通 2089:【22CSPJ普及组】上升点列(point) | 洛谷 P8816 [CSP-J 2022] 上升点列
  • 题解:洛谷 P1608 路径统计
  • 2.5寒假作业
  • springboot校园数字化图书馆系统设计与实现
  • 数据结构【链式队列】
  • DeepSeek本地部署及其他应用接入
  • 【TensorFlow】T1:实现mnist手写数字识别
  • 基于springboot校园点歌系统
  • 15.<Spring Boot 日志>
  • 全流程安装DeepSeek开源模型
  • 深度学习|表示学习|卷积神经网络|Batch Normalization在干什么?|19
  • 【lua编程实操(一)】函数和闭包
  • 13.代理模式(Proxy Pattern)
  • mini-lsm通关笔记Week2Day7
  • 将OneDrive上的文件定期备份到移动硬盘
  • 闲聊邵雍的“象数”与古诗有感
  • 从51到STM32:PWM平滑迁移方案
  • make -j$(nproc)——多核加速编译
  • 《Java核心技术 卷II》本地日期
  • 01vue3实战-----前言