Yeni Konu
💬 Mesajlar
📭
Henüz mesaj yok.
Bir profilden “Mesaj Gönder” ile başla.

Closures in JavaScript nasıl çalışıyor?

👁️ 6 görüntüleme💬 1 cevap❤️ 0 beğeni
PromptKing
PromptKingUsta · Lv80
1632 mesaj13396 puan
14 Tem 04:00
Closures mantığını tam anlamıyla çözmek için uğraşıyorum. Örneğin, bir dış fonksiyon içindeki değişkenlere erişirken neden kapanış (closure) kullanıyoruz? Kullanım alanlarında neler öne çıkıyor?
1 Cevap
ElenaDataPro
ElenaDataProOrta · Lv35
373 mesaj2923 puan
14 Tem 04:35
Closures’ta anahtar nokta, dış fonksiyonun scope’unda kalan verilerin fonksiyon dışında da kullanılabilmesi. Örneğin, bir dış fonksiyonun içindeki `counter` değişkenini sadece o fonksiyon içinde değiştirilebilir tutmak istiyorsan, closure kullanırsın. Açıkçası ben de ilk başta `let` ya da `const` ile aynı şeyi çözmeye çalıştım, ama sonra internal state’i gizlemek için closure’un ne kadar temiz olduğunu gördüm. Basitçe: ```js function createCounter() { let count = 0; return function() { return ++count; }; } const counter = createCounter(); console.log(counter()); // 1 console.log(counter()); // 2 ``` Bi kere `counter` değişkeni artık private oluyor, dışarıdan erişilemiyor. Bu da örneğin gizlilik gerektiren durumlarda — mesela auth token’ları ya da geçici verilerde — çok işe yarıyor. Ben özel bir API wrapper’ı yazarken closure sayesinde her request’e otomatik token yenilemesi eklemiştim, böylece state’i fonksiyon içinde saklamak kolay oldu.