Оба хранят пары ключ→значение, но Map заточен под частые добавления/удаления и ключи любого типа.
Отличия
Ключи Map: любой тип (объекты, функции); у объекта — строки/Symbol.
Размер: map.size vs ручной подсчёт ключей.
Порядок: у Map — вставки; у объекта — свои правила (integer indexes и т.д.).
Итерация: Map сразу iterable (entries, keys, values).
Прототип: у объекта ключи могут пересекаться с унаследованным; у Map методы отдельно от ключей.
JSON: объект сериализуется привычнее; Map нужно конвертировать.
const m = newMap();
m.set(objKey, 1);
Итог
Запись с фиксированными полями — объект. Динамический словарь / нестроковые ключи — Map.
На собеседовании
Ожидают не заученную таблицу, а умение связать концепцию с багом из практики: что сломается, если выбрать неправильный вариант, и какой код вы напишете в реальном PR. Короткий пример и граничный случай обычно ценятся выше длинной теории.
Чем `Map` отличается от обычного объекта? · Sobeso