Понятно, что в общем случае new Map()
гибче, поскольку позволяет различать числовые и строковые ключи, а также использовать ключи любых типов, в том числе ссылочных.
Но что если ключом всегда является строка?
Очевидно, что у объекта куда более компактное обращение к свойствам по свойствам по сравнению с картой - квадратные скобочки, а не вызовы методов, соответственно оказываются применимы операторы в духе ++
и +=
.
У пустого объекта {}
есть всякие штуки в прототипе типа toString
и __proto__
, что мешает полноценному его использованию в качестве словаря, но Object.create(null)
этих недостатков вроде бы лишён. По скорости объект со словарём я никогда не сравнивал, хотя, наверное, стоило бы.
В общем, на какие критерии стоит обратить внимание при выборе между ними и что скорее всего лучше использовать?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть задача, по клику на кнопке начать в цикле выполнение тяжелых вычислений (скажем поиск простых чисел) с постепенным выводом результата...
Пытаюсь написать скрипт который будет заполнять формуВот страница с формой https://www
Есть календарик datepickerНужно сохранить выбранную дату и другую (например -50d от ВЫБРАННОЙ)
При запуске этого кода, в консоль выводится: Объясните, пожалуйста, почему массив изменяется до запуска forEach и почему в консоли он выглядит...