Junior
Zašto je potrebno koristiti zatvaranje u JavaScriptu?
sobes.tech АИ
Одговор од АИ
Zatvaranje (closure) u JavaScript-u je funkcija koja «pamti» okruženje u kojem je kreirana, uključujući pristup promenljivima iz spoljnjeg opsega, čak i ako je ta spoljašnja funkcija već završila sa izvršavanjem.
Zašto je to potrebno:
- Čuvanje stanja između poziva funkcija.
- Inkapsulacija podataka, kreiranje privatnih promenljivih.
- Implementacija funkcija sa podrazumevanim parametrima ili delimičnom primenom.
- U React hook-ovima, zatvaranja pomažu da se sačuva pristup stanju i props-ima unutar funkcija.
Primer:
function makeCounter() {
let count = 0;
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Ovde, unutrašnja funkcija održava pristup promenljivoj count iz spoljne funkcije, čak i nakon što je makeCounter završena.