Middle+
Kako radi sakupljač smeća (Garbage Collector) u JavaScriptu?
sobes.tech АИ
Одговор од АИ
Сборщик мусора в JavaScript автоматически освобождает память, которая больше не используется программой. Основной алгоритм — это подсчёт ссылок и маркировка достижимых объектов.
Принцип работы:
- Движок JS отслеживает объекты и ссылки на них.
- Объекты, на которые нет ссылок из корневых областей (например, глобальных переменных, стека вызовов), считаются недостижимыми.
- Такие объекты помечаются для удаления, и память под них освобождается.
Современные движки используют алгоритмы маркировки и очистки (mark-and-sweep), которые периодически запускаются в фоне, чтобы не блокировать выполнение кода.
Пример: если переменная ссылается на объект, а потом переменная переопределяется или выходит из области видимости, объект становится недостижимым и будет удалён сборщиком мусора.