Middle
Ինչպես է աշխատում փակումը (closure) JavaScript-ում: բացատրեք ձեր լուծման մեջ փոփոխականի index և ֆունկցիայի run օրինակով։
sobes.tech AI
Պատասխան AI-ից
JavaScript-ում փակագծում (closure) դա ֆունկցիա է, որը հիշում է իր լեքսիկ շրջապատը, նույնիսկ եթե այն կանչվում է իր տեսանելիության տարածքից դուրս:
Եկեք դիտենք օրինակ index փոփոխականի և run ֆունկցիայի հետ:
function createRunner() {
let index = 0;
function run() {
console.log(index);
index++;
}
return run;
}
const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2
Այստեղ, run ֆունկցիան փակագծում է index փոփոխականը արտաքին createRunner ֆունկցիայից: Թեև createRunner արդեն ավարտել է իր գործառույթը, run շարունակում է ունենալ մուտք index-ին և կարող է փոփոխել նրա արժեքը: Սա թույլ է տալիս պահել վիճակը run ֆունկցիայի կանչերի միջև:
Այսպիսով, փակագծերը թույլ են տալիս ստեղծել ֆունկցիաներ՝ մասնավոր փոփոխականներով և պահպանել վիճակը առանց գլոբալ փոփոխականների օգտագործման։