Встречается на собеседованиях • сегодня

В чем разница между Map и объектом

Map и объект ({}) в JavaScript оба хранят данные в виде ключ-значение, но есть ключевые отличия:

  1. Ключи
    В Map ключами могут быть любые типы (объекты, функции и т.д.), а в объекте только строки или символы.

  2. Порядок элементов
    Map сохраняет порядок вставки, а у объекта порядок не гарантируется (хотя современные движки его поддерживают).

  1. Размер
    У Map есть свойство size, а у объекта нужно считать ключи вручную (Object.keys(obj).length).

  2. Производительность
    Map оптимизирован для частого добавления/удаления, а объект — для статичных данных.

Пример:

javascript
const map = new Map();
map.set({}, 'объект'); // ключ — объект

const obj = {};
obj[{ toString: () => 'ключ' }] = 'значение'; // ключ преобразован в строку '[object Object]'
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы