Junior — Middle
Kāda ir slēdžu (closures) loma JavaScript un kā tie tiek izmantoti?
sobes.tech AI
Atbilde no AI
Aizvēršanas (closures) JavaScript ir funkcijas, kas "atceras" vidi, kurā tās tika izveidotas, ieskaitot piekļuvi ārējās funkcijas mainīgajiem pat pēc tās pabeigšanas.
Aizvēršanas loma:
- Ļauj izveidot privātus mainīgos un metodes, kapsulējot datus.
- Tiek izmantotas funkcijām ar saglabātu stāvokli.
- Palīdz izvairīties no globālās telpas piesārņošanas.
- Tiek izmantotas funkcionālajā programmēšanā, veidojot funkcijas ar daļēji piemērotiem argumentiem.
Piemērs:
function makeCounter() {
let count = 0; // privāts mainīgais
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Šeit, iekšējā funkcija saglabā piekļuvi ārējās funkcijas count mainīgajam, radot aizvēršanu.