javascript中的map对象有什么用?

根据MDN文档

Map对象保存键-值对,并记住键的原始插入顺序。任何值(对象和基本值)都可以用作键或值。

这里需要注意的重要一点是,对象也可以在映射中用作键。JavaScript对象则不是这样。JS对象只允许原语作为键。

使它在某些场景中有用的另一个特性是它是可迭代的。按照插入顺序,它是可迭代的。因此,在需要维护键的顺序以及与之关联的值的情况下,可以使用映射。

示例

映射的示例用法

const myMap = new Map();
const keyString = 'a string',
const keyObj = {},
const keyFunc = function() {};
//用各种键设置值
myMap.set(keyString, "String Val");
myMap.set(keyObj, 'Object val');
myMap.set(keyFunc, 'function val');
console.log(myMap.size);
console.log(myMap.get(keyString));

输出结果

3
String Val