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 завршена.