Вопрос проверяет понимание различий между Map и обычным объектом в JavaScript, особенно в контексте порядка ключей и типов ключей.
В JavaScript обычные объекты (Object) и Map оба могут хранить пары ключ-значение, но их поведение различается. Согласно спецификации ES2015, обычные объекты сохраняют порядок строковых ключей в порядке вставки, за исключением целочисленных ключей (которые сортируются по возрастанию). Map же гарантирует порядок вставки для всех типов ключей без исключений.
Object удобен для простых структур данных, когда ключи известны заранее и не требуется частая модификация. Например, для конфигураций или опций:
const config = { theme: 'dark', lang: 'en' };
console.log(Object.keys(config)); // ['theme', 'lang']Map предпочтительнее, когда:
const map = new Map();
map.set('b', 2);
map.set('a', 1);
console.log([...map.keys()]); // ['b', 'a']Если ключи всегда строки и важен порядок вставки, Map является более надёжным и производительным выбором, особенно при динамическом изменении набора ключей. Object подходит для статичных структур, где порядок не критичен.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию