Sobes.tech
Junior — Middle

Ի՞նչ դեր ունեն closures (փակվածություններ) JavaScript-ում և ինչու են դրանք օգտագործվում:

sobes.tech AI

Պատասխան AI-ից

JavaScript- ում փակագծեր (closures) այն ֆունկցիաներ են, որոնք «հիշում են» ստեղծման շրջապատը, ներառյալ արտաքին ֆունկցիայից փոփոխականների հասանելիությունը նույնիսկ այն ավարտվելուց հետո:

Փակագծերի դերը՝

  • թույլ են տալիս ստեղծել մասնավոր փոփոխականներ և մեթոդներ՝ տվյալները ամփոփելով:
  • օգտագործվում են պահպանված վիճակով ֆունկցիաներ ստեղծելու համար:
  • օգնում են խուսափել գլոբալ տարածքի աղտոտումից:
  • օգտագործվում են ֆունկցիոնալ ծրագրավորման մեջ՝ մասամբ կիրառվող արգումենտներով ֆունկցիաներ ստեղծելու համար:

Օրինակ՝

function makeCounter() {
  let count = 0; // մասնավոր փոփոխական
  return function() {
    count += 1;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Այստեղ, ներքին ֆունկցիան պահպանում է արտաքին ֆունկցիայից count փոփոխականի հասանելիությունը, ստեղծելով փակագիծ։