Junior — Middle
JavaScriptте жабык эмне экенин жана ал кандай иштээрин түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
JavaScriptте жабдуулук — бул функция, ал түзүлгөндө анын айланасынан «эсте калуучу», анткени ал айлана-чөйрө азыр иштебей калса да. Жөнөкөй айтканда, башка функциянын ичинде турган функция, сырттагы функция ишин аяктагандан кийин да, сырттагы функциянын өзгөрмөлөрүнө кире алат.
Бул иштейт, анткени функция түзүлгөндө, ал ээлеген лексикалык айлана-чөйрөгө шилтеме сакталат.
Мисал:
function сырткы() {
let эсептегич = 0;
return function ички() {
эсептегич++;
console.log(эсептегич);
};
}
const эсептегич = сырткы();
эсептегич(); // 1
эсептегич(); // 2
Мында, ичи сырткы функциясынан өзгөрмө эсептегичти жабат жана анын абалын сактайт, чакыруулар ортосунда.