Birinci sınıf işlev
Görünüm
Bu madde hiçbir kaynak içermemektedir. (Kasım 2022) (Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin) |
Bir programlama dilinin, o dildeki fonksiyonları eğer bir değişken gibi ele alınabiliyorsa o dil Birinci Sınıf Fonksiyonlara 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.