Mapa vs Objeto en JavaScript

Acabo de descubrir chromestatus.com y, después de perder varias horas de mi día, encontréesta entrada característica:

Mapa: los objetos del mapa son simples mapas de clave / valor.

Eso me confundió. Los objetos JavaScript regulares son diccionarios, entonces, ¿cómo es unMap diferente de un diccionario? Conceptualmente, son idénticos (según¿Cuál es la diferencia entre un mapa y un diccionario?)

La documentación de las referencias a chromestatus tampoco ayuda:

Los objetos del mapa son colecciones de pares clave / valor donde tanto las claves como los valores pueden ser valores de lenguaje ECMAScript arbitrarios. Un valor de clave distinto solo puede aparecer en un par de clave / valor dentro de la colección del Mapa. Distingue los valores de clave según se discrimina utilizando un algoritmo de comparación que se selecciona cuando se crea el Mapa.

Un objeto Map puede iterar sus elementos en orden de inserción. El objeto de mapa debe implementarse utilizando tablas hash u otros mecanismos que, en promedio, proporcionen tiempos de acceso que sean sublineales en el número de elementos de la colección. Las estructuras de datos utilizadas en esta especificación de objetos del Mapa solo pretenden describir la semántica observable requerida de los objetos del Mapa. No pretende ser un modelo de implementación viable.

... todavía me suena como un objeto, tan claramente que me he perdido algo.

¿Por qué está ganando JavaScript un (bien soportado)Map ¿objeto? ¿Qué hace?

Respuestas a la pregunta(8)

Su respuesta a la pregunta