> Какие коллекции кроме Set существуют в JavaScript (JavaScript)

Уровень: middle · Роль: frontend · Категория: Технические вопросы

Компании: IT-One

Стек: JavaScript

> Пример ответа

В JavaScript помимо Set существуют следующие основные коллекции:

  1. Map - коллекция "ключ-значение", где ключом может быть любой тип данных (включая объекты и функции). Порядок вставки сохраняется.

    JAVASCRIPT
    const map = new Map();
    map.set('name', 'Alice');
    map.set(42, 'answer');
  2. WeakMap - аналог Map, но ключи могут быть только объектами, и ссылки на них являются "слабыми" (не препятствуют сборке мусора). Нет метода size и итераторов.

    JAVASCRIPT
    const wm = new WeakMap();
    const obj = {};
    wm.set(obj, 'private data');
  3. WeakSet - аналог Set, но хранит только объекты, также со слабыми ссылками. Нельзя перебрать или узнать размер.

    JAVASCRIPT
    const ws = new WeakSet();
    ws.add({});
  4. Array - упорядоченная коллекция с числовыми индексами, поддерживает дубликаты.

    JAVASCRIPT
    const arr = [1, 2, 3];
  5. Object - неформальная коллекция "ключ-значение", где ключи - строки или символы. Используется как словарь, но менее удобен, чем Map.

Ключевые отличия от Set:

  • Set хранит только уникальные значения (без ключей).
  • Map и Object хранят пары ключ-значение.
  • WeakMap и WeakSet оптимизированы для управления памятью с объектами.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью