Closure (kapanış)
Kısaca: Closure, çevresindeki değişkenleri – dış işlev çoktan bittikten sonra bile – “hatırlayan” bir işlevdir.
Biraz daha ayrıntılı: Closure’lar, bir iç işlev dış işlevin değişkenlerine eriştiğinde ve döndürüldüğünde veya iletildiğinde ortaya çıkar. Sayaçların, fabrikaların, geri çağırmaların, kısmi uygulamanın (currying) ve JavaScript’teki modül kalıbının temelidir. JavaScript, Python, Java (lambda ifadeleri), C#, Go, Kotlin, Swift, Rust, Haskell ve daha birçoğunda desteklenir.
Ayrıntılı
def counter():
state = 0Ayrıca bak: Lambda ifadesi, Yüksek dereceli işlev, Geri çağırma, Kapsülleme