Назад к вопросам
Middle+
2
Как работает сборщик мусора (Garbage Collector) в JavaScript?
Компании, где спрашивали
НСПК
Ответ от нейросети
sobes.tech AI
Сборщик мусора в JavaScript автоматически освобождает память, которая больше не используется программой. Основной алгоритм — это подсчёт ссылок и маркировка достижимых объектов.
Принцип работы:
- Движок JS отслеживает объекты и ссылки на них.
- Объекты, на которые нет ссылок из корневых областей (например, глобальных переменных, стека вызовов), считаются недостижимыми.
- Такие объекты помечаются для удаления, и память под них освобождается.
Современные движки используют алгоритмы маркировки и очистки (mark-and-sweep), которые периодически запускаются в фоне, чтобы не блокировать выполнение кода.
Пример: если переменная ссылается на объект, а потом переменная переопределяется или выходит из области видимости, объект становится недостижимым и будет удалён сборщиком мусора.