Sobes.tech
Middle

JavaScriptте жабык деп эмне түшүнөсүз? Мисал келтириңиз.

sobes.tech AI

AIден жооп

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

Мисал:

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

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

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