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

Как существуют переменные объявляемые внутри функции с замыканием

Переменные внутри функции с замыканием сохраняются в лексическом окружении (LexicalEnvironment) даже после завершения её выполнения. Это позволяет внутренним функциям обращаться к ним, даже когда внешняя функция уже завершила работу.

javascript
function outer() {
  let count = 0;
  
  return function inner() {
    count++;
    return count;
  }
}

const counter = outer();
console.log(counter()); // 1
console.log(counter()); // 2

Особенности:

  • Каждое замыкание хранит ссылку на своё лексическое окружение
  • Переменные не удаляются сборщиком мусора, пока существует хоть одна функция, которая может к ним обратиться
  • Разные вызовы внешней функции создают независимые замыкания
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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