Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: weakset, структуры данных

WeakSet. В чем особенность? Какие свойства и методы есть? Как перебрать?

Этот вопрос проверяет понимание структуры данных WeakSet в JavaScript, ее особенностей, свойств и методов, а также подходов к перебору элементов.

Короткий ответ

WeakSet — это коллекция уникальных объектов, где каждый объект хранится с использованием слабой ссылки. Главная особенность WeakSet заключается в том, что он не удерживает ссылки на свои элементы, что позволяет сборщику мусора автоматически удалять объекты, если на них больше нет ссылок. Методы WeakSet включают add(), delete() и has(), однако его нельзя перебрать, так как WeakSet не предоставляет итераторов.

Длинный ответ

WeakSet в JavaScript — это коллекция уникальных объектов, предназначенная для хранения значений с использованием слабых ссылок. Основные особенности WeakSet:

  • Уникальные значения: В WeakSet могут храниться только уникальные объекты. Если вы попытаетесь добавить объект, который уже существует в WeakSet, он просто проигнорируется.

  • Слабые ссылки: Поскольку WeakSet использует слабые ссылки на свои элементы, если объект больше не имеет сильных ссылок, он может быть удален сборщиком мусора. Это делает WeakSet полезным для хранения временных данных, связанных с объектами, без риска утечек памяти.

Методы WeakSet:

  • add(value): Добавляет объект в WeakSet.

  • delete(value): Удаляет объект из WeakSet.

  • has(value): Проверяет, существует ли объект в WeakSet.

Отсутствие итераторов: Как и в случае с WeakMap, WeakSet не предоставляет методов для перебора элементов. Это значит, что вы не можете использовать forEach(), keys(), values() или другие методы для итерации по элементам.

WeakSet идеально подходит для сценариев, когда вам нужно отслеживать уникальные объекты, например, когда вы хотите хранить временные ссылки на DOM-элементы или объекты в памяти, которые могут быть автоматически очищены, когда они больше не нужны.

Уровень

  • Рейтинг:

    5

  • Сложность:

    8

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#weakset

#структуры данных

Подпишись на React Developer в телеграм