Uždarytojas – tai funkcija, kuri "įsimena" savo sukūrimo kontekstą (kintamuosius, aplinką) ir gali juos naudoti, net jei yra iškviečiama už to konteksto ribų.
Pagrindinis bruožas: Ji išsaugo pasiekiamus kintamuosius iš išorinės funkcijos, net po to, kai išorinė funkcija baigė darbą.
Pavyzdys (JavaScript):
javascript
function išorinė() {
let skaičius = 0;
return function vidinė() {
skaičius++;
return skaičius;
};
}
const skaičiuoklė = išorinė();
console.log(skaičiuoklė()); // 1
console.log(skaičiuoklė()); // 2
// Kintamasis `skaičius` išliko "uždaromas" vidinėje funkcijoje
Praktinis naudojimas:
- Privataus kintamojo imitavimas
- Įvykių valdikliai su kontekstu
- Funkcijų generavimas
Tai leidžia kurti atskiras "privačias" būsenas kiekvienam uždarytojo egzemplioriui.
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.