Anonim fonksiyon (IIFE)
Tanımlandığı anda çalışan IIFE yapısı ve ne zaman kullanılacağını öğrenirsin.
IIFE
IIFE (Immediately Invoked Function Expression), tanımlandığı anda çağrılan bir fonksiyon ifadesidir. Yazımı: (function() { ... })();. Dış parantez fonksiyonu ifadeye çevirir, sonraki () onu hemen çağırır.
Bu desende tanımlanan tüm değişkenler IIFE kapsamında kalır. Dışarıdan erişilemez. Bu sayede global alanı kirletmeden bir işi tek seferde yapabilirsin.
Module izolasyonu
IIFE'nin asıl gücü izolasyon. İçinde let veya const ile tanımladığın hiçbir şey dışarıdan görünmez. Kodun geri kalanı IIFE'nin içindekileri göremez; doğrudan erişmeye çalışmak referans hatası verir.
Bu özellik, bir sonraki derste göreceğin module deseninin temelidir: özel durumu korurken yalnızca istediğin metodları dışarı açabilirsin. Böylece hem karmaşayı hem de yan etkiyi azaltırsın.
Uygulama İlk IIFE'ni yaz
Bir IIFE yaz. İçinde let counter = 0 ile özel bir sayaç tanımla, counter++ ile bir artır ve console.log(counter) ile sonucu yazdır. IIFE (function() { ... })(); biçiminde olsun.
Örnek çözümü göster
(function() {
let counter = 0;
counter++;
console.log(counter);
})();
Kendini test et
-
IIFE çağrısını tamamla
(function() { console.log("Çalışıyor"); })____Cevabı göster
(function() { console.log("Çalışıyor"); })(); -
IIFE'nin temel yararı nedir?
- Kodu daha hızlı çalıştırır
- Daha az bellek kullanır
- Değişkenleri global kapsamdan uzak tutar
- Fonksiyonları otomatik adlandırır
Cevabı göster
Değişkenleri global kapsamdan uzak tutar — Doğru. IIFE kendi kapsamını oluşturur; içerdeki değişkenler global alanı kirletmez.
-
IIFE terimlerini eşleştir
- IIFE
- Tanımlandığı anda çalışan fonksiyon
- module isolation
- Değişkenleri globalden uzak tutma
- immediately invoked
- Tanım sonrası hemen çağrılma