Junior — Middle
Ar galite paaiškinti, kas yra uždarymas JavaScript'e ir kaip jis veikia?
sobes.tech AI
Atsakymas iš AI
Užrakinimas JavaScript yra funkcija, kuri «atsimena» aplinką, kurioje ji buvo sukurta, net jei ta aplinka jau nėra aktyvi. Paprasčiau tariant, funkcija viduje kitos funkcijos gali pasiekti išorinės funkcijos kintamuosius po to, kai ši funkcija baigia vykdyti.
Tai veikia todėl, kad kuriant funkciją, išsaugoma nuoroda į leksinę aplinką, kurioje ji buvo paskelbta.
Pavyzdys:
function išorė() {
let skaitiklis = 0;
return function viduje() {
skaitiklis++;
console.log(skaitiklis);
};
}
const skaitiklis = išorė();
skaitiklis(); // 1
skaitiklis(); // 2
Čia, viduje užrakina išorės funkcijos kintamąjį skaitiklis ir išlaiko jo būseną tarp iškvietimų.