Какими способами можно создать утечку памяти в JavaScript?

Утечка возникает, когда ненужные данные остаются достижимыми: через слушатели, таймеры, подписки, глобальные коллекции или удерживаемые DOM-узлы.

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

Что ответить на собеседовании

Утечка возникает, когда ненужные данные остаются достижимыми: через слушатели, таймеры, подписки, глобальные коллекции или удерживаемые DOM-узлы.

Подробный разбор

Ответ с пояснениями

Утечка возникает, когда ненужные данные остаются достижимыми: через слушатели, таймеры, подписки, глобальные коллекции или удерживаемые DOM-узлы.

Сборщик мусора освобождает только недостижимое. Само замыкание не является утечкой, но может долго удерживать большой объект. Используйте cleanup, ограниченные кеши и профили памяти; сравнивайте heap snapshots после повторения и завершения сценария, а не только единичный рост памяти.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее