Накратко
Map съхранява двойки ключ–стойност и помни реда на добавяне. set() и get() работят с колекцията, а не с произволни свойства върху обекта.
Полезно е да знаеш
Map е подходящ за таблица от ключове към стойности, например код на категория към нейното име. Ключът е уникален в колекцията; повторно set() със същия ключ променя свързаната стойност. Редът на първоначално добавяне се запазва при обхождане. [1]
Пример: const names = new Map([['tech', 'Технологии']]); names.set('food', 'Храни'); names.get('tech') връща 'Технологии'. За наличие използвай names.has('food'), а за броя двойки — names.size.
Не записвай names.food = 'Храни', ако очакваш това да стане запис в Map. Така се създава обикновено свойство на обекта и get('food') не работи с него като елемент от колекцията. [1]
Ключовете могат да са и обекти. Тогава запази същата референция, ако искаш да извлечеш стойността. Нов обект със същите видими свойства не е автоматично същият ключ. За каталог с устойчиви идентификатори текстовият или числовият ключ често е по-лесен за проследяване.
Източници
За повече подробности и проверка на информацията: