Junior
JavaScript'te kapanış kullanımı ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
JavaScript'te kapanış (closure), oluşturulduğu ortamı «hatırlayan» ve dış erişim alanındaki değişkenlere erişimi içeren bir fonksiyondur, hatta bu dış fonksiyon zaten tamamlandıysa bile.
Bunun amacı:
- Fonksiyon çağrıları arasında durumu korumak.
- Veri kapsülleme, özel değişkenler oluşturma.
- Varsayılan parametrelerle veya kısmi uygulama ile fonksiyonlar gerçekleştirme.
- React hook'larında kapanışlar, fonksiyonlar içinde duruma ve prop'lara erişimi korumaya yardımcı olur.
Örnek:
function makeCounter() {
let count = 0;
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Burada iç fonksiyon, makeCounter tamamlandıktan sonra bile dış fonksiyondan count değişkenine erişimi korur.