Middle
Šta je zatvaranje? Možete li objasniti?
sobes.tech АИ
Одговор од АИ
Zatvaranje — to je funkcija zajedno sa njenim leksičkim okruženjem u kojem je kreirana. To znači da funkcija 'pamti' promenljive iz spoljnjeg opsega, čak i ako je ta spoljašnja funkcija već završila sa izvršavanjem.
Primer u JavaScript-u:
function makeCounter() {
let count = 0;
return function() {
count++;
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 makeCounter, stvarajući zatvaranje (closure). Ovo omogućava održavanje stanja između poziva funkcije.