Когда нужно применять Map?
Массивы и структуры данных
`Map` применяют, когда нужны ключи не только строкового типа, важен порядок, часто добавляются/удаляются элементы или нужен `size` и удобная итерация.
Когда выбирать Map вместо объекта
Ключи любого типа
Когда ключом должен быть объект, функция или число:
const cache = new Map();
const key = someObject;
cache.set(key, computeExpensive(key)); // ключ — объектЧастые добавления/удаления и нужен size
map.set('a', 1);
map.delete('a');
map.size; // без ручного подсчётаВажен порядок вставки
Map строго сохраняет порядок; у объекта целочисленные ключи сортируются.
Нужен «чистый словарь»
Без унаследованных ключей прототипа (нет коллизий с toString, constructor).
Частая итерация
for (const [key, value] of map) { /* ... */ }Когда достаточно объекта
- Строковые ключи, известная структура.
- Нужна сериализация в JSON (
Mapнапрямую не сериализуется). - Простой конфиг/запись.
Коротко для собеседования
Map применяют, когда: ключи не строки (объекты, функции), важен порядок, часто меняется размер (нужен size), нужен чистый словарь без прототипных ключей или частая итерация. Для строковых ключей и JSON достаточно объекта.