Карта против объекта в JavaScript

Я только что обнаружил chromestatus.com и, потеряв несколько часов своего дня, нашелэта функция запись:

Карта: Объекты карты являются простыми картами ключ / значение.

Это смутило меня. Обычные объекты JavaScript являются словарями, так какMap отличается от словаря? Концептуально ониидентичны (согласноВ чем разница между картой и словарем?)

Документация Chromestatus ссылки не делаетТакже не помогает:

Объекты карты - это наборы пар ключ / значение, где и ключи, и значения могут быть произвольными значениями языка ECMAScript. Отдельное значение ключа может встречаться только в одной паре ключ / значение на карте.Собрание. Определите ключевые значения в соответствии с алгоритмом сравнения, который выбирается при создании карты.

Объект Map может перебирать свои элементы в порядке вставки. Объект карты должен быть реализован с использованием хеш-таблиц или других механизмов, которые в среднем обеспечивают времена доступа, которые сублинейны по количеству элементов в коллекции. Структуры данных, используемые в этой спецификации объектов Map, предназначены только для описания требуемой наблюдаемой семантики объектов Map. Он не предназначен для жизнеспособной модели реализации.…

все еще звучит как объект для меня, так ясно, что ямы что-то пропустили.

Почему JavaScript получает (хорошо поддерживается)Map объект? Что оно делает?

Ответы на вопрос(8)

Ваш ответ на вопрос