Sobes.tech
Junior — Middle

Jaká je role uzávěrek (closures) v JavaScriptu a k čemu se používají?

sobes.tech AI

Odpověď od AI

Uzávěry (closures) v JavaScriptu jsou funkce, které si "pamatují" prostředí, ve kterém byly vytvořeny, včetně přístupu k proměnným z vnější funkce i po jejím ukončení.

Role uzávěrek:

  • Umožňují vytvářet soukromé proměnné a metody, kapsulací dat.
  • Používají se k vytváření funkcí se zachovaným stavem.
  • Pomáhají zabránit znečištění globálního prostoru.
  • Jsou využívány v funkcionálním programování k vytváření funkcí s částečně aplikovanými argumenty.

Příklad:

function makeCounter() {
  let count = 0; // soukromá proměnná
  return function() {
    count += 1;
    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, čímž vytváří uzávěr.