Junior — Middle
Vai jūs varat izskaidrot, kas ir slēgums JavaScript un kā tas darbojas?
sobes.tech AI
Atbilde no AI
Aizvērums JavaScript ir funkcija, kas «atceras» vidi, kurā tā tika izveidota, pat ja šis vide jau nav aktīvs. Vienkārši sakot, funkcija iekšā citas funkcijas var piekļūt ārējās funkcijas mainīgajiem pēc tam, kad tā ir pabeigusi izpildi.
Tas darbojas tāpēc, ka funkcijas izveides laikā tiek saglabāta atsauce uz leksikālo vidi, kurā tā tika deklarēta.
Piemērs:
function ārējā() {
let skaitītājs = 0;
return function iekšējā() {
skaitītājs++;
console.log(skaitītājs);
};
}
const skaitītājs = ārējā();
skaitītājs(); // 1
skaitītājs(); // 2
Šeit, iekšējā aizver mainīgo skaitītājs no ārējās, saglabājot tā stāvokli starp izsaukumiem.