Mapa a obiekt w JavaScript

Właśnie odkryłem chromestatus.com i po utracie kilku godzin mojego dnia znalazłemten wpis funkcji:

Mapa: Obiekty mapy są prostymi mapami klucza / wartości.

To mnie zdezorientowało. Zwykłe obiekty JavaScript to słowniki, więc jak to jestMap inny niż słownik? Koncepcyjnie są identyczne (wedługJaka jest różnica między mapą a słownikiem?)

Odniesienia do dokumentacji chromestatus również nie pomagają:

Obiekty mapy to zbiory par klucz / wartość, w których zarówno klucze, jak i wartości mogą być dowolnymi wartościami języka ECMAScript. Odrębna wartość klucza może występować tylko w jednej parze klucz / wartość w kolekcji Map. Wyróżniające się wartości klucza jako rozróżnione przy użyciu algorytmu porównania, który jest wybierany podczas tworzenia mapy.

Obiekt Map może iterować jego elementy w kolejności wstawiania. Obiekt mapy musi być zaimplementowany przy użyciu tabel mieszających lub innych mechanizmów, które średnio zapewniają czas dostępu, który jest podliniowy względem liczby elementów w kolekcji. Struktury danych używane w tej specyfikacji obiektów Map mają jedynie opisywać wymaganą obserwowalną semantykę obiektów Map. Nie ma to być realny model wdrażania.

… Wciąż brzmi dla mnie jak przedmiot, więc wyraźnie coś przeoczyłem.

Dlaczego JavaScript zyskuje (dobrze obsługiwane)Map obiekt? Co to robi?

questionAnswers(8)

yourAnswerToTheQuestion