Sobes.tech
Junior

Na čo je potrebné použiť uzáver v JavaScripte?

sobes.tech AI

Odpoveď od AI

Zatvor (closure) v JavaScript-u je funkcija koja «запамти» окружење у којем је створена, укључујући приступ променљивима из спољњег опсега, чак и ако је та спољња функција већ завршила са извршавањем.

За шта је то потребно:

  • Чување стања између позива функција.
  • Инкапсулација података, стварање приватних променљивих.
  • Имплементација функција са подразумеваним параметрима или делимичном применом.
  • У React hook-овима, затварања помажу да се сачува приступ стању и props-има унутар функција.

Пример:

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

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

Овде, унутрашња функција одржава приступ променљивој count из спољашње функције, чак и након што је makeCounter завршена.