Sobes.tech
Middle

Co je to uzávěr v JavaScriptu? Uveďte příklad.

sobes.tech AI

Odpověď od AI

Uzávěr v JavaScriptu je funkce, která si «pamatuje» své lexikální prostředí, i když je volána mimo svůj původní rozsah. To umožňuje funkci přístup k proměnným z vnější funkce i poté, co tato funkce již dokončila své provádění.

Příklad:

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

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

Zde vnitřní funkce zachovává přístup k proměnné count z vnější funkce makeCounter, čímž vytváří uzávěr (closure).