Fonksiyon Bildirimleri Arasındaki Fark
Fonksiyon tanımlamanın her iki yolu da eşdeğerdir, ancak önemli bir fark vardır: Function Declaration olarak bildirilen fonksiyonlara, bildirildikleri yerden önce başvurulsa bile erişilebilir olacaktır.
Örneğe bakın:
// Fonksiyona bildiriminden önce başvuruyoruz:
func(); // '!' yazdıracak
function func() {
console.log('!');
}
Fonksiyon ifadeleri ise kod çalıştırılırken oluşturulur ve üst tarafta erişilemezler. Bu nedenle böyle bir kod hata verecektir:
func(); // hata, böyle bir fonksiyon henüz yok!
let func = function() {
console.log('!');
};
Bir fonksiyonu Function Declaration olarak oluşturun. Bildirildiği yerin üstünde erişilebilir olacağını kontrol edin.
Bir fonksiyonu Function Expression olarak oluşturun. Bildirildiği yerin üstünde erişilebilir olmayacağını kontrol edin.