Загрузка...
Загрузка...
Продолжая работу с платформой, вы принимаете условия Политики конфиденциальности и использование файлов cookie.
Cборщик мусора (Garbage Collector) — это встроенный механизм в JavaScript, который автоматически управляет памятью. Он отвечает за освобождение памяти, занятой объектами, которые больше не используются в программе.
Вы не управляете памятью вручную — за вас это делает JavaScript-движок (например, V8 в Chrome/Node.js).
JavaScript выделяет память под переменные и объекты, когда они создаются, и освобождает её, когда они больше не достижимы.
Основной принцип:
Объект считается "мусором", если на него больше нет ссылок.
let user = { name: "Alice" };
user = null; // Теперь объект можно удалить из памяти
Наиболее распространённый алгоритм:
В этом примере объект C — недостижим и будет удалён.
Каждый объект хранит число, показывающее, сколько на него ссылаются. Если счётчик = 0, объект удаляется.
Недостаток: циклические ссылки не удаляются.
let a = {};
let b = {};
a.ref = b;
b.ref = a;
// Обе переменные — null, но объекты всё ещё ссылаются друг на друга
a = null;
b = null; // Потенциальная утечка памяти!
clearInterval, clearTimeoutref.current = nullWeakMap, WeakSet — они не мешают сборке мусораPerformance/MemoryВажно:
Сборка мусора в JavaScript не мгновенна — это процесс, который выполняется периодически. Поэтому освобождение памяти может происходить с задержкой.