Middle
Kas yra uždarymas? Ar gali paaiškinti?
sobes.tech AI
Atsakymas iš AI
Užrakintas — tai funkcija kartu su jos leksikiniu aplinka, kurioje ji buvo sukurta. Tai reiškia, kad funkcija „atsimena“ išorinės apimties kintamuosius, net jei ši išorinė funkcija jau baigė savo vykdymą.
Pavyzdys JavaScript:
function makeCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Čia vidinė funkcija išlaiko prieigą prie count kintamojo iš išorinės funkcijos makeCounter, sukurdama užraktą (closure). Tai leidžia išlaikyti būseną tarp funkcijos kvietimų.