Sobes.tech
Junior — Middle

JavaScript'te kapanışın ne olduğunu ve nasıl çalıştığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te kapanış, oluşturulduğu ortamı «hatırlayan» bir fonksiyondur, hatta bu ortam artık aktif olmasa bile. Basitçe söylemek gerekirse, başka bir fonksiyon içindeki fonksiyon, dış fonksiyon tamamlandıktan sonra bile dış fonksiyonun değişkenlerine erişebilir.

Bu, fonksiyon oluşturulurken, tanımlandığı leksik ortamın bir referansının saklanması sayesinde çalışır.

Örnek:

function dis() {
  let sayac = 0;
  return function ic() {
    sayac++;
    console.log(sayac);
  };
}

const sayac = dis();
sayac(); // 1
sayac(); // 2

Burada, ic fonksiyonu, dis içindeki sayac değişkenini kapatır ve çağrılar arasında durumunu korur.