Sobes.tech
Middle

Какво е затваряне в JavaScript? Дайте пример.

sobes.tech AI

Отговор от AI

Затваряне в JavaScript е функция, която «запомня» своето лексикално обкръжение, дори ако се извика извън първоначалната си област на видимост. Това позволява на функцията да има достъп до променливи от външната функция след като тя вече е приключила изпълнението си.

Пример:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

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

Тук вътрешната функция запазва достъпа до променливата count от външната функция makeCounter, създавайки затваряне (closure).