Sobes.tech
Junior — Middle

Koja je uloga closures (zatvaranja) u JavaScript-u i zašto se koriste?

sobes.tech АИ

Одговор од АИ

Затварања (closures) у JavaScript-у су функције које "сећају" окружење у којем су створене, укључујући приступ променљивима из спољашње функције чак и након што је она завршена.

Улога затварања:

  • Омогућавају креирање приватних променљивих и метода, капсулирајући податке.
  • Користе се за креирање функција са сачуваним стањем.
  • Помажу да се избегне загађење глобалног простора.
  • Користе се у функционалном програмирању за креирање функција са делимично применљивим аргументима.

Пример:

function makeCounter() {
  let count = 0; // приватна променљива
  return function() {
    count += 1;
    return count;
  };
}

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

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