Sobes.tech
Junior — Middle

Мо метавонед шарҳи кунед, ки чӣ гуна пӯшида дар JavaScript аст ва чӣ гуна кор мекунад?

sobes.tech AI

Ҷавоб аз AI

Пӯшидани дар JavaScript функсияест, ки «ба ёд меорад» муҳити, ки дар он сохта шудааст, ҳатто агар он муҳит аллакай фаъол набошад. Ба содагӣ гӯем, функсия дар дохили функсияи дигар метавонад ба тағйирёбандаҳои функсияи беруна пас аз анҷоми иҷрои он дастрасӣ пайдо кунад.

Ин кор ба он хотир имконпазир аст, ки вақте функсия сохта мешавад, ишора ба муҳити лексикалӣ, ки дар он эълон шудааст, нигоҳ дошта мешавад.

Масал:

function беруна() {
  let ҳисобкунак = 0;
  return function дохилӣ() {
    ҳисобкунак++;
    console.log(ҳисобкунак);
  };
}

const ҳисобкунак = беруна();
ҳисобкунак(); // 1
ҳисобкунак(); // 2

Ин ҷо, дохилӣ тағйирёбандаи ҳисобкунак-ро аз беруна мепӯшад ва ҳолати онро байни даъватҳо нигоҳ медорад.