Yazeka
Arama sonuçlarına göre oluşturuldu
Closure, bir fonksiyonun, kendisini çevreleyen dış kapsamın (scope) değişkenlerine, o dış fonksiyon çalışmasını tamamlamış olsa bile erişebilmesi durumudur 12.
Closure'ın çalışma prensibi:
- Leksik kapsam (lexical scope) 1. Bir fonksiyon, tanımlandığı yerdeki değişkenlere erişim sağlar, çağrıldığı yerdekine değil 1.
- Çalışma bağlamı (execution context) 1. JavaScript, çağrı yığını (call stack) ve çalışma bağlamını yönetir 1.
Closure'ın temel mantığı:
- JavaScript, bir fonksiyon tanımlandığı zamandaki kapsamı "hatırlamaya" devam eder 2.
- Bir fonksiyon, dış fonksiyon tamamlansa bile, o fonksiyonun içinde tanımlanan değişkenlere erişebilir 12.
Örnek:
function outerFunction() { let count = 0; function innerFunction() { count++; console.log(`Count: ${count}`); } return innerFunction; } const counter = outerFunction(); counter(); // Current count: 1 counter(); // Current count: 2 counter(); // Current count: 3
5 kaynaktan alınan bilgiyle göre: