BT Sözlüğü › Programlama › Kapanış (closure)

Kapanış (closure)

Programlama Svenska → Güncellendi: 2026-10-10

Sözcüksel kapsamındaki değişkenleri "yakalayan" fonksiyon. function counter() { let n = 0; return () => ++n; } — dönen fonksiyon, üst fonksiyon bittikten sonra bile n'e erişir. Modern dillerde standart: JS, Python, Ruby, Go, Rust.

Pratik kullanım: durum yakalayan geri çağırmalar, fonksiyon fabrikaları, kısmi uygulama, sınıf kullanmadan kapsülleme. JavaScript'te IIFE kalıbını mümkün kılar. Python'da yakalanan değişkenleri değiştirmek için nonlocal anahtar sözcüğü gerekir. Bellek açısından: kapanış yakalanan kapsama referans tutar → büyük nesneler yakalanırsa bellek sızıntısı çıkabilir. Rust'ta kapanışlar birer türdür (Fn, FnMut, FnOnce) — sahiplik açıkça belirtilir. Statik tipli fonksiyonel dillerde (Haskell, OCaml) kapanış temel yapı taşıdır.

← Sözlüğe dön