Встречается на собеседованиях • сегодня
Как работает 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), где утечки памяти из-за замыканий могут накапливаться.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы