1.控制台输出Map对象的实例:
let myMap=new Map()
console.log('myMap',myMap)
结果:
外形和Object对象一样,都是大括号,包含一个size属性,构造函数的原型上面提供了clear,get,set,has等方法
2.往Map对象里面添加点东西看看
let myMap=new Map()
myMap.set('age',12)
myMap.set('name','lisi')
console.log('myMap',myMap)
结果:
从外形来看,只是将对象的:符合换成了=>。外形上面这样理解没错,但是我们不能let myMap={‘name’=>‘lisi’}这样声明map对象,=>只是便于我们从肉眼上来区分而已,本质上和object对象是不一样的。还有一个就是Map对象的key值是任意类型的,
let myMap=new Map()
myMap.set('age',12)
myMap.set('name','lisi')
myMap.set({test:1},'mytest')
console.log('myMap',myMap)
结果:
而object对象,key值只能是字符串类型。所以我们存储的数据如果key值可能是对象等其他类型的吧,可以考虑用map来存储
3.常用方法,get,set,delete,
4.map对象迭代,使用forEach和for…of
let myMap=new Map()
myMap.set('age',12)
myMap.set('name','lisi')
myMap.set({test:1},'mytest')
myMap.forEach((value,key)=>{
console.log('foreach:'+value+":"+key)
})
for(let v of myMap){
console.log('forOf:'+v)
}
结果;
5用途:在需要对除字符串以外的数据类型进行映射的时候,Map就可以派上用场