Middle
რა არის დახურვა? შეგიძლია ახსნა?
sobes.tech AI
პასუხი AI-სგან
დაკეტვა — ეს ფუნქციაა ერთად მისი ლექსიკური გარემოსთან ერთად, სადაც ის შექმნა. ეს ნიშნავს, რომ ფუნქცია „მახსოვს“ გარე სქემის ცვლილებებს, მიუხედავად იმისა, რომ ეს გარე ფუნქცია უკვე დასრულდა.
JavaScript-ის მაგალითი:
function makeCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
აქ, შიდა ფუნქცია ინარჩუნებს წვდომას გარე ფუნქციის count ცვლილებაზე და ქმნის დახურვას (closure). ეს საშუალებას აძლევს ფუნქციის გამოძახების დროს მდგომარეობის შენახვას.