Middle
Ի՞նչ է փակումը: Կարող եք բացատրել?
sobes.tech AI
Պատասխան AI-ից
Փակել — դա ֆունկցիա է, որը ստեղծվել է նրա լեքսիկ շրջապատի հետ միասին: Սա նշանակում է, որ ֆունկցիան «հիշում է» արտաքին տեսքի փոփոխականները, նույնիսկ եթե այդ արտաքին ֆունկցիան արդեն ավարտվել է:
JavaScript-ում օրինակ:
function makeCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Այստեղ, ներքին ֆունկցիան պահպանում է մուտքը count փոփոխականի դեպի արտաքին ֆունկցիա makeCounter, ստեղծելով փակուղի (closure): Սա թույլ է տալիս պահել վիճակը ֆունկցիայի կանչերի միջև։