Sobes.tech
Junior — Middle

JavaScriptте closures (жабдуулар) кандай роль ойнойт жана алар эмне үчүн колдонулат?

sobes.tech AI

AIден жооп

JavaScript-деги жабдуулар (closures) — бул түзүлгөн чөйрөнү "эске алган" функциялар; алар түзүлгөн чөйрөнү, анын ичинде тышкы функциядан өзгөрмөлөргө жетүүнү, анын аяктагандан кийин да сактайт.

Жабдуулардын ролу:

  • Маалыматтарды капсулдоо аркылуу жеке өзгөрмөлөр жана ыкмаларды түзүүгө мүмкүндүк берет.
  • Сакталган абал менен функцияларды түзүү үчүн колдонулат.
  • Глобалдык аймактын кирленишин алдын алууга жардам берет.
  • Функционалдык программалоодо, жарым-жартылай колдонулган аргументтери бар функцияларды түзүү үчүн колдонулат.

Мисал:

function makeCounter() {
  let count = 0; // жеке өзгөрмө
  return function() {
    count += 1;
    return count;
  };
}

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

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