Sobes.tech
Back to questions
Middle
2

Как работает замыкание в JavaScript? Объясните на примере переменной index и функции run в вашем решении.

Companies where asked
SIGNAL

Answer from AI

sobes.tech AI

В JavaScript замыкание — это функция, которая запоминает свое лексическое окружение, даже если она вызывается вне своей области видимости.

Рассмотрим пример с переменной index и функцией run:

function createRunner() {
  let index = 0;
  function run() {
    console.log(index);
    index++;
  }
  return run;
}

const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2

Здесь функция run замыкает переменную index из внешней функции createRunner. Несмотря на то, что createRunner уже завершила выполнение, run продолжает иметь доступ к index и может изменять его значение. Это позволяет сохранять состояние между вызовами функции run.

Таким образом, замыкания позволяют создавать функции с приватными переменными и сохранять состояние без использования глобальных переменных.