Birinci sınıf işlev - Vikipedi

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ştir | kaynağı değiştir]

const 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ştir | kaynağı değiştir]

function 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ştir | kaynağı değiştir]

function sayHello() {   return () => {     console.log("Hello!");   }; } 

JavaScript’te return ile fonksiyon döndürebilirsiniz.

Not: Buna "Yüksek Dereceli Return" denir.