Карта против объекта в JavaScript
Я только что обнаружил chromestatus.com и, потеряв несколько часов своего дня, нашел эту запись:
карта: объекты карты-это простые карты ключей / значений.
что меня смутило. Обычные объекты JavaScript-это словари, так как это Map отличается от словаря? Концептуально они идентичны (согласно в чем разница между картой и словарем?)
документация ссылки на chromestatus также не помогают:
объекты карты-это коллекции пар ключ / значение, где как ключи, так и значения могут быть произвольными значениями языка ECMAScript. Различное значение ключа может встречаться только в одной паре ключ/значение в коллекции карты. Различные значения ключей, выделенные с помощью алгоритма сравнения, который выбирается при создании карты.
объект карты может повторять свои элементы в порядке вставки. Объект карты должен быть реализовано с использованием либо хэш-таблиц, либо других механизмов, которые в среднем обеспечивают время доступа, которое является сублинейным по количеству элементов в коллекции. Структуры данных, используемые в этой спецификации объектов карты, предназначены только для описания требуемой наблюдаемой семантики объектов карты. Она не предназначена для того, чтобы быть жизнеспособной моделью реализации.
...все еще звучит как объект для меня, так что я явно что-то пропустил.
почему JavaScript набирает a (хорошо поддерживает)
Comments