Встречается на собеседованиях • сегодня

Как работает Garbage Collector в контексте замыкания

В JavaScript Garbage Collector (GC) автоматически освобождает память, когда объекты больше не достижимы. Однако замыкания могут создавать ситуации, когда переменные остаются в памяти дольше ожидаемого.

Пример:

javascript
function createCounter() {
  let count = 0; // Переменная будет удерживаться в памяти, пока существует замыкание
  return function() {
    return ++count;
  };
}

const counter = createCounter();
// Пока существует counter, переменная count не будет собрана GC

text

Ключевые моменты:
1. GC удаляет только те переменные, на которые нет ссылок
2. Замыкание сохраняет ссылки на все переменные внешней функции, которые используются внутри
3. Чтобы освободить память, нужно явно удалить ссылку на замыкание (`counter = null`)

Особенно важно учитывать это в долгоживущих приложениях (SPA), где утечки памяти из-за замыканий могут накапливаться.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы