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 из спољашње функције, стварајући затварање.