Встречается на собеседованиях • сегодня

В чем разница между Map, Set, WeakMap, WeakSet

Map и Set хранят сильные ссылки на ключи/значения, что может мешать сборщику мусора. WeakMap и WeakSet используют слабые ссылки, позволяя удалять объекты, если на них нет других ссылок.

Map:

  • Хранит пары ключ-значение.
  • Ключи могут быть любого типа.
  • Поддерживает итерацию.
javascript
const map = new Map();
map.set('key', 'value');

Set:

  • Хранит только уникальные значения.
  • Поддерживает итерацию.
javascript
const set = new Set();
set.add(1);

WeakMap:

  • Ключи только объекты.
  • Не поддерживает итерацию.
  • Автоматически удаляет записи при удалении ключа.
javascript
const weakMap = new WeakMap();
weakMap.set({}, 'value');

WeakSet:

  • Хранит только объекты.
  • Не поддерживает итерацию.
  • Автоматически удаляет объекты при их удалении из памяти.
javascript
const weakSet = new WeakSet();
weakSet.add({});
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы