Встречается на собеседованиях • сегодня
В чем разница между Map и WeakMap
Основное отличие Map от WeakMap в том, как они хранят ключи и управляют памятью:
-
Ключи:
- В
Mapключами могут быть любые типы данных (объекты, примитивы). - В
WeakMapключи — только объекты.
- В
-
Сборка мусора:
Mapхранит ключи сильно, предотвращая их удаление, даже если объект-ключ больше не используется.WeakMapне препятствует сборке мусора: если объект-ключ удаляется, запись автоматически исчезает изWeakMap.
- Итерация и методы:
Mapподдерживаетkeys(),values(),entries(),size.WeakMapне предоставляет методов для итерации или получения размера.
Пример:
javascript
let obj = { id: 1 };
const map = new Map();
const weakMap = new WeakMap();
map.set(obj, 'value'); // Объект остаётся в памяти, пока есть в Map
weakMap.set(obj, 'value'); // Если obj = null, запись удалится при сборке мусораИспользование:
WeakMap— для приватных данных или ассоциаций с объектами, которые могут быть удалены.Map— когда нужен перебор или ключи любого типа.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы