网站建设与网页设计,张家港普通网站建设,营销软文200字,网络软件开发技术若想了解Map对象可以阅读本人这篇ES6初步了解Map Map对象与object有什么区别#xff1f;让我为大家介绍一下吧#xff01;
共同点
二者都是以key-value的形式对数据进行存储 const obj {name:zs,age:18}console.log(obj)let m new Map()m.set(name让我为大家介绍一下吧
共同点
二者都是以key-value的形式对数据进行存储 const obj {name:zs,age:18}console.log(obj)let m new Map()m.set(name,zs)m.set(age,18)console.log(m)不同点
1.key的数据类型范围不同obj可以作为key的仅有number、string、symbolmap均可以 const obj {name:zs,age:18,[Symbol(11)]:22}console.log(obj)let m new Map()m.set(name,zs)m.set(age,18)m.set(Symbol(11),22)m.set([1,2,3],33)m.set({},33)console.log(m)2.key的顺序不同obj通过obj.keys打印出来的属性顺序是 number–字符串map的key顺序是声明顺序。 3.创建方式不同。obj有三种创建方式 字面量{}、new Object 、构造函数。map仅支持new Map obj的创建方式 const obj {name:zs,age:18}console.log(obj)// 2.new Objectlet obj1 new Object()console.log(obj1)// 3.构造函数function Person(name,age){this.name namethis.age age}let obj2 new Person(zs,18)console.log(obj2)Map对象的创建方式
let m new Map()4. key的调用不同。 map只能用原生的get方法调用。 const obj {name:zs}console.log(obj[name]) //zslet m new Map()m.set(name,ls)console.log(m.get(name)) //ls5.设置属性的方式不同。map只能使用setkeyval方法设置属性。 const obj {}obj[name] zsconsole.log(obj)let m new Map()m.set(name,ls)console.log(m)6.Size属性。map有size属性对象没有。Map.size 返回 Map 中元素的数量而 Object 的键值对个数只能手动计算 let m new Map()m.set(name,ls)m.set(age,18)console.log(m.size) //2感谢大家的阅读如有不对的地方可以向我提出感谢大家