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
Drawing

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