JS的Map对象
- 概述
 ES6新增的一种数据结构Map,对操作键值对很友好,键值对集合,提供属性和方法供开发者使用。存有键值对,键可以是任何数据类型;按照原始插入顺序存储(FIFO)原则;具有表示映射大小的属性。
- 创建
 const colors = new Map(iterable)
  
- 方法
-  常用方法 - set():为Map对象设置键值对
- get():获取Map对象中键的值
- entries():返回Map对象中键值对数组
- keys():返回Map对象中键数组
- values():返回Map对象中值数组
  
 
-  其他方法 - clear():删除Map对象中所有的元素
- delete():删除由键指定的元素
- has():如果键存在,返回true
- forEach():键值对调用回调
  
 
- 属性
- size:获取Map对象中键值对个数
  
- Map对象和Object对象对比
| 对比项 | 对象 | Map | 
|---|---|---|
| Size | 手动计算个数 | size属性直接获取键值对个数 | 
| 键类型 | 必须是字符串或Symbols | 任何数据类型 | 
| 键顺序 | 无序 | 按照插入顺序存储 | 
| 性能 | 无 | 频繁增删键值对场景性能优势 | 
| 默认 | 有默认键 | 无默认键 | 
- 扩展
-  Map合并,键相同会覆盖 
  
-  基本数据类型的键相同会覆盖,引用类型的键相同不会覆盖 
  
-  clear()方法没有返回值 
-  Array.from将Map对象转换成数组 
  
-  获取未知的键返回undefined 
  



















