Sobes.tech
Назад к вопросам
Middle+
2

Как работает сборщик мусора (Garbage Collector) в JavaScript?

Компании, где спрашивали
НСПК

Ответ от нейросети

sobes.tech AI

Сборщик мусора в JavaScript автоматически освобождает память, которая больше не используется программой. Основной алгоритм — это подсчёт ссылок и маркировка достижимых объектов.

Принцип работы:

  • Движок JS отслеживает объекты и ссылки на них.
  • Объекты, на которые нет ссылок из корневых областей (например, глобальных переменных, стека вызовов), считаются недостижимыми.
  • Такие объекты помечаются для удаления, и память под них освобождается.

Современные движки используют алгоритмы маркировки и очистки (mark-and-sweep), которые периодически запускаются в фоне, чтобы не блокировать выполнение кода.

Пример: если переменная ссылается на объект, а потом переменная переопределяется или выходит из области видимости, объект становится недостижимым и будет удалён сборщиком мусора.