Sobes.tech
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ų.