Sobes.tech
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.