Sobes.tech
Middle

Mis on sulgemine? Kas see on?

sobes.tech AI

Vastus AI-lt

Sulg — see on funktsioon koos selle leksikaalse keskkonnaga, kus see loodi. See tähendab, et funktsioon „peaaegu mäletab“ välise ulatuse muutujad, isegi kui see väline funktsioon on juba lõpetanud täitmise.

Näide JavaScriptis:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Siin säilitab sisemine funktsioon juurdepääsu välise funktsiooni makeCounter muutujale count, luues sulgu (closure). See võimaldab säilitada olekut funktsiooni kutsumiste vahel.