Sobes.tech
Middle

Kas yra uždarymas JavaScript? Pateikite pavyzdį.

sobes.tech AI

Atsakymas iš AI

Uždaras JavaScript yra funkcija, kuri «atsimena» savo leksinę aplinką, net jei ji kviečiama už savo pirminės apimties ribų. Tai leidžia funkcijai turėti prieigą prie išorinės funkcijos kintamųjų po to, kai ši funkcija jau baigė vykdyti.

Pavyzdys:

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ždarymą (closure).