Fonksiyon İfadesi
Fonksiyonu Değişkene Atama
Bir değişkene değer olarak fonksiyon atamaya fonksiyon ifade etme denir. Bu kullanımda fonksiyon sonuna zorunlu olmadığı halde okunurluğu artırmak için ;
konur.
Bir değişkene değer olarak fonksiyon tanımlarsak fonksiyon nasıl yürütülecek ? Tabii ki de sonuna ()
sembolleri ekleyerek. Örnek.
let fonksiyon = function fx() {
//kodlar
return 'fx fonksiyonu';
};
alert( fonksiyon() ); // fonksiyon kodları stringmiş gibi görünür.
İfade edilen (deklare edilen) fonksiyonlara isim vermeye gerek yoktur çünkü ismi ile çağrılamaz. İsimsiz bu fonksiyonlara anonim fonksiyon denir. Örnek.
let anonim = function () { // ismi yok. anonim fonksiyon.
return 'Bu anonim bir fonksiyon ifadesidir.';
};
alert( anonim() ); // ifade edilen fonksiyonu yürüttük.
Başka bir örnek.
let usAl = function (sayi, us) { // ismi yok. anonim fonksiyon.
return sayi**us
};
alert( usAl(3,4) ); // ifade edilen fonksiyonu yürüttük.
Bu şekilde ifade ettiğimiz değişkenin tipi function
olarak görünür. Bir fonksiyonu ifade etmek ile tanımlamak arasında da bazı farklar vardır.
Tanımlaman Fonksiyon: Kapsam yürütülmeden önce yürütülerek bellekte oluşturulur. Bu sayede bloktaki herhangi bir yerden fonksiyon ismi ile çağrılabilir.
İfade Edilen Fonksiyon: İfade edildiği (deklare edildiği) satır yürütüldüğünde bellekte oluşturulur. Bu sebeple satır yürütüldükten sonra değişken adı ile çağrılabilir.
alert( fx() ); // çalışır
function fx() {
//kodlar
return 'fx fonksiyon tanımı';
}
alert( fx() ); //çalışır
alert( foo() ); // hata verir.
let foo = function () {
//kodlar
return 'foo fonksiyon ifadesi';
};
alert( foo() ); //çalışır
Doğrusal olmayan bir yapıda işlem yapmamızı sağlayan fonksiyonlar çok önemlidir. Hangi kullanımı tercih edeceğiniz genellikle performans ve güvenlik ile ilgili olsa da fonksiyonlar genel olarak tanımlanarak kullanılır.
Last updated