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