Sobes.tech
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 ֆունկցիայի կանչերի միջև:

Այսպիսով, փակագծերը թույլ են տալիս ստեղծել ֆունկցիաներ՝ մասնավոր փոփոխականներով և պահպանել վիճակը առանց գլոբալ փոփոխականների օգտագործման։