最佳答案
我刚刚发现这个特性:
Map: Map对象是简单的键/值映射。
这让我很困惑。常规的JavaScript对象是字典,那么Map
和字典有什么不同呢?从概念上讲,它们是相同的(根据另一个关于Stack Overflow的问题)
文档也没有帮助:
Map对象是键/值对的集合,其中键和值都可以是任意的ECMAScript语言值。不同的键值只能出现在Map集合中的一个键/值对中。使用创建Map时选择的比较算法进行区分的不同键值。
Map对象可以按插入顺序迭代其元素。Map对象必须使用哈希表或其他机制来实现,这些机制提供的访问时间平均与集合中元素的数量呈次线性关系。本Map对象规范中使用的数据结构仅用于描述Map对象所需的可观察语义。它并不是一个可行的实现模型。
听起来还是像个物件,显然我错过了什么。
为什么JavaScript获得了一个(受良好支持的)Map
对象?它能做什么?