Sobes.tech
Middle

Kapanış nedir? Anlatabilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kapanış — oluşturulduğu bağlamla birlikte bir fonksiyondur. Bu, fonksiyonun dış kapsamındaki değişkenleri 'hatırladığı' anlamına gelir, hatta bu dış fonksiyon zaten tamamlanmış olsa bile.

JavaScript'te örnek:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Burada, iç fonksiyon makeCounter dış fonksiyonundaki count değişkenine erişimi korur ve böylece bir kapanış (closure) oluşturur. Bu, fonksiyon çağrıları arasında durumu korumayı sağlar.