Что такое `Map` в JavaScript, чем он отличается от обычного объекта и от `WeakMap`?
СобеседованиеМассивы и коллекции
Map — это объект который представляет собой коллекцию пар ключ-значение
- Отличие от обычного объекта:
- Ключи могут быть любого типа
- Порядок вставки ключей сохраняется
- Оптимизирован для операций поиска, вставки и удаления по ключу
- Отличие
Map от WeakMap:
- В
WeakMap ключами могут быть только объекты
- В
WeakMap нет методов для перечисления ключей или значений (keys(), values(), entries())
- Ключи в
WeakMap являются "слабыми ссылками". Если на объект-ключ больше нет ссылок из других мест программы, он автоматически удаляется из WeakMap при сборке мусора