Sobes.tech
Middle

Жабдуулук деген эмне? Түшүндүрүп бере аласызбы?

sobes.tech AI

AIден жооп

Жабуу — бул функция жана ал түзүлгөн лексикалык чөйрө менен бирге. Бул функция сырткы чөйрөдөгү өзгөрмөлөрдү «эске салат», анткени ал сырткы функциянын иши аяктагандан кийин да сакталат.

JavaScriptте мисал:

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

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

Бул жерде ички функция makeCounter сырткы функциянын count өзгөрмөсүнө кирүүнү сактайт жана ошентип, жабуу (closure) түзөт. Бул функцияны чакыруулар ортосунда абалды сактоого мүмкүндүк берет.