string или Symbol — любой другой тип автоматически преобразуется в строкуMap принимает любое значение в качестве ключа, включая объекты, функции и примитивыconst map = new Map();
map.set({id: 1}, "object key"); // valid
map.set(42, "number key"); // valid
Map всегда сохраняет порядок вставки для всех ключейMap имеет встроенное свойство size и напрямую итерируется через for...ofObject.keys(), Object.values() или Object.entries() для итерации// Map — прямая итерация
for (const [key, value] of map) { ... }
// Обычный объект — требует помощника
for (const [key, value] of Object.entries(obj)) { ... }
Map оптимизирована для частых добавлений и удалений, что делает её лучшим выбором для динамических коллекцийMap когда тебе нужны ключи не-строкового типа, гарантированный порядок или высокочастотные операции чтения/записиПростые объекты автоматически преобразуют нестроковые ключи в строки, в то время как Map сохраняет исходный тип ключа и позволяет использовать любые значения, включая объекты и функции, в качестве ключей.
Новый — ещё не проверен сообществом
Вы