Birinci sınıf işlev
Bu maddede birçok sorun bulunmaktadır. Lütfen sayfayı geliştirin veya bu sorunlar konusunda tartışma sayfasında bir yorum yapın.
|
Bir programlama dilinin, o dildeki fonksiyonları eğer bir değişken gibi ele alınabiliyorsa o dil “Birinci Sınıf Fonksiyonlar”a sahip demektir. Örneğin:
Fonksiyonu bir değişkene atama
değiştirconst foo = () => {
console.log("foobar");
};
foo(); // Değişkeni kullanarak çağırdık.
// foobar
Burada biz bu fonksiyonu isimsiz şekilde tanımladık, ()
ve değişken ismi ile fonksiyonu çağırdık.
Ayrıca bu çağırma işlemi fonksiyonu etkilemez.
Callback (Bir fonksiyonu parametre olarak verme)
değiştirfunction sayHello() {
return "Hello, ";
}
function greeting(helloMessage, name) {
console.log(helloMessage() + name);
}
// "sayHello" fonksiyonunu "greeting" fonksiyonuna parametre olarak verdik.
greeting(sayHello, "JavaScript!");
// Hello, JavaScript!
Tanımladığımız sayHello()
fonskiyonunu, tanımladığımız diğer bir fonksiyon olan greeting()
fonksiyonuna parametre olarak gönderdik. sayHello()
fonksiyonu bize "Hello, "
dönüyordu.
Ardından 2. parametreyi ise "JavaScript!"
olarak tanımladığımız için sonuç, Hello, JavaScript!
şeklinde döndü.
Not: Bu işleme "Callback Function" adı verilir.
Return Fonksiyonları
değiştirfunction sayHello() {
return () => {
console.log("Hello!");
};
}
JavaScript’te return
ile fonksiyon döndürebilirsiniz.
Not: Buna "Yüksek Dereceli Return" denir.