Встречается на собеседованиях • сегодня
В чем причина работы замыкания
Замыкание работает благодаря тому, что функция сохраняет ссылку на свою внешнюю лексическую область видимости (LexicalEnvironment), даже после завершения выполнения внешней функции. Это позволяет функции "запоминать" переменные из родительской области.
Пример:
javascript
function outer() {
let count = 0;
return function inner() {
count++;
return count;
};
}
const counter = outer();
console.log(counter()); // 1
console.log(counter()); // 2Здесь inner сохраняет доступ к переменной count даже после завершения outer. Это возможно, потому что:
- Функции в JS имеют скрытое свойство
[[Environment]], ссылающееся на родительскую область - Сборщик мусора не удаляет переменные, на которые есть ссылки из замыканий
- Область видимости сохраняется до тех пор, пока существует хотя бы одна функция, ссылающаяся на неё

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы