Middle
Czym jest zamknięcie? Czy możesz to wyjaśnić?
sobes.tech AI
Odpowiedź od AI
Zamknięcie — to funkcja wraz z jej środowiskiem leksykalnym, w którym została utworzona. Oznacza to, że funkcja 'zapamiętuje' zmienne z zewnętrznego zakresu, nawet jeśli ta zewnętrzna funkcja już się zakończyła.
Przykład w JavaScript:
function makeCounter() {
let count = 0;
return function() {
count++;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Tutaj, wewnętrzna funkcja zachowuje dostęp do zmiennej count z funkcji makeCounter, tworząc zamknięcie. To pozwala na zachowanie stanu między wywołaniami funkcji.