Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა არის დახურვა JavaScript-ში და როგორ მუშაობს?

sobes.tech AI

პასუხი AI-სგან

JavaScript-ში დახურვა არის ფუნქცია, რომელიც «მახსოვს» შექმნის გარემო, მიუხედავად იმისა, რომ ეს გარემო უკვე აღარ არის აქტიური. მარტივად რომ ვთქვათ, ფუნქცია სხვა ფუნქციის შიგნით, შეუძლია წვდომა გარეგანი ფუნქციის ცვლადებზე მისი შესრულების დასრულების შემდეგ.

ეს მუშაობს იმიტომ, რომ ფუნქციის შექმნისას ინახება ლექსიკური გარემოს მითითება, სადაც ის გამოაცხადა.

მაგალითი:

function გარეთა() {
  let გამრიცხველი = 0;
  return function შიგნით() {
    გამრიცხველი++;
    console.log(გამრიცხველი);
  };
}

const გამრიცხველი = გარეთა();
გამრიცხველი(); // 1
გამრიცხველი(); // 2

აქ, შიგნით დახურავს გარეთა-დან ცვლადს გამრიცხველი და შეინახავს მის მდგომარეობას შორის გამოძახილების.