美文网首页
【js基础】Map 和 Object 的区别

【js基础】Map 和 Object 的区别

作者: SophieRabbit | 来源:发表于2020-09-02 15:34 被阅读0次

在JavaScript中,Map 和 Object 看起来都是用键值对来存储数据,那么他们有什么不同呢?

不同点

Key filed

在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一个 Object 来当做一个Map元素的 key

元素顺序

Map 元素的顺序遵循插入的顺序,而 Object 的则没有这一特性。

继承

Map 继承自 Object 对象。

新建实例

Object 支持以下几种方法来创建新的实例:

var obj = {...};

var obj = new Object();

var obj = Object.create(null);

Map 仅支持下面这一种构建方法:

var map = new Map([1, 2], [2, 3]);      // map = {1 => 2, 2 => 3}

数据访问

Map 想要访问元素,可以使用 Map 本身的原生方法:

map.get(1) // 2

Object 可以通过 . 和 [ ] 来访问

obj.id;  

obj['id'];

判断某个元素是否在 Map 中可以使用

map.has(1);

以及增删改查、迭代等

递归时的栈溢出问题

object会出现复杂递归的栈溢出问题。map不会

相关文章

  • 【js基础】Map 和 Object 的区别

    在JavaScript中,Map和Object看起来都是用键值对来存储数据,那么他们有什么不同呢? 不同点 Key...

  • useMap-管理map的钩子

    map和Object的区别和相同 map"值"-"值" 1 .map {(1, “微笑”), (2, “哭泣”)...

  • js forEach map &&&

    原生JS forEach()和map()遍历的区别以及兼容写法 一、原生JS forEach() 和map()**...

  • Map和Object的区别

    es6提供了一个Map类,这是新增的一个数据结构,用起来有点像Object,这二者到底有什么区别呢?Object本...

  • Map 、Set&Object、Array

    1. Map和Set是什么? 2. Map和Set与Object和Array有什么区别,为何引入Map和Set? ...

  • 2021-11-15

    一、JavaScript Map 和 Object 的区别(https://www.cnblogs.com/ysx...

  • jQuery前端框架--笔记

    1,JS对象和jQuery对象的区别 jQuery就是JS中的new Object生成的普通对象。 2,JS对象和...

  • js中的循环遍历方法对比

    JS循环大总结, for, forEach,for in,for of, map区别 map(数组方法): 特性:...

  • ES6中的Map和Set对象

    Map 对象 Map对象保存键值对。任意值(对象或者原始值)都可以作为一个键或一个值 Map和Object的区别 ...

  • js 对象和jquery对象的比较

    1、js 对象和jquery对象的区别 jquery对象是js中的new Object()生成的普通对象 2、js...

网友评论

      本文标题:【js基础】Map 和 Object 的区别

      本文链接:https://www.haomeiwen.com/subject/lzkwsktx.html