贝利信息

JavaScript Map是什么_它如何存储键值对?

日期:2025-12-08 00:00 / 作者:夜晨
JavaScript Map 是允许任意类型键值对的内置对象,不强制转键为字符串、保留插入顺序、支持复杂键类型及动态增删操作。

JavaScript Map 是一个内置对象,用来存储键值对,且允许任意类型的值作为键或值。它比普通对象更灵活,不会把键强制转成字符串,也保留了插入顺序,适合需要动态增删、复杂键类型或频繁迭代的场景。

Map 的键可以是任意类型

普通对象的键只能是字符串或 Symbol,而 Map 的键可以是函数、对象、数字、布尔值甚至 null 和 undefined。

Map 严格区分键的类型和值

它不会像对象那样隐式转换键。比如 map.set("1", "str")map.set(1, "num") 是两个独立的键值对,不会覆盖。

Map 保持插入顺序并提供便捷方法

遍历时(如用 for...ofkeys()values()entries()),元素按添加顺序返回。

基本上就这些。Map 不是替代对象的万能方案,但在需要可靠键类型、频繁修改或顺序敏感时,它是更稳妥的选择。