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 өзгөрмөсүнө жетүүнү сактайт жана жабдуулоо түзөт.