Javascript fonksiyon tipleri ve farklılıkları

Argedik
2 min readJun 21, 2022

--

Fonksiyon Farklılıkları

Fonksiyon farklılıkları ile başlayalım. 3 farklı fonksiyon tanımlama yolu var.

  • Function Declaration
  • Function Expression
  • Arrow Function

Karşılaştırması daha kolay olur diye açıklamaları sona sakladım. Şimdilik kod başlıklarla ele alalım.

Function Declaration (Fonksiyon Tanımlama)

// Fonksiyonumuzu bildiriyoruz,
function test() {
console.log(“Terminal bizim işimiz :)”);
}
// “test” fonksiyonumuzu çağırmayı unutmayalım…
test();

Function Expression (Değişkene fonksiyon tanımlama)

// Değişkenimize fonksiyonumuzu tanımlıyoruz,
const test = function() {
console.log(“Terminal bizim işimiz :)”);
}
// “test” fonksiyonumuzu çağırmayı unutmayalım…
test();

Arrow Function (Lambda Gösterimi)

// O kadar kod yazarak uğraşma tek satırda bitir işi...
let test = () => console.log(“Terminal bizim işimiz :)”);
test();

Function Declaration, kısmında “function” yanına direkt fonksiyon ismini yazarak, parantezleri “()” ekliyoruz, yapmasını istediğimiz koşulları süslü parantezler “{}” içerisinde belirtiyoruz. Ardından fonksiyonumuzu, verdiğimiz ismi yazarak parantezleriyle “()” beraber çağırıyoruz.

Function Expression, kısmında bu sefer değişken tanımlar gibi tipini belirterek direkt fonksiyon ismini yazıyoruz, “=” ile ayırıp “function” yanına parantezleri “()” ekliyoruz, yapmasını istediğimiz koşulları süslü parantezler “{}” içerisinde belirtiyoruz. Ardından fonksiyonumuzu, verdiğimiz ismi yazarak parantezleriyle “()” beraber çağırıyoruz.

Arrow Function, kısmında bu sefer tekrar değişken tanımlar gibi tipini belirterek direkt fonksiyon ismini yazıyoruz, “=” ile ayırıp “function” ifadesini yazmadan parantezleri “()” ekliyoruz. Ardından süslü parantezler yerine artık Lamda gösterimi dediğimiz şişko oku “=>” kullanıyoruz. Fonksiyonumuzu çağırmak için de verdiğimiz ismi yazıyoruz. Argüman olarak parantezler “()” içine istediğimiz değeri yazıyoruz.

Görüldüğü gibi her ne olursa olsun fonksiyonlarımızı tanımlarken yada çağırırken parantezler “()” kullanmamız gerekiyor. Parantezler içerisinde fonksiyon çağırılırken bazı isteklerde bulunabiliriz. Bu isteklere “parametre” diyoruz. İstenen parametre değerini belirtmezsek, JavaScript abimiz bu işi bizim için, parametre tipini, argüman olarak girilen değere göre belirliyor. Fonksiyonu çağırırken verdiğimiz değerlere “argüman” diyoruz.

let test = (sayi1,sayi2) => sayi1 + sayi2;// Böylede yazarsak patlar :D bir string bir integer. 
console.log(test("10",5));
// Argüman tiplerinin aynı olması isteniyor.
console.log(test("10","5")); => sonuç=105
yada
console.log(test(10,5)); => sonuç=15

Fonksiyon Tipleri

  • Parametreli ve parametresiz
  • Varsayılan değeri olan ve olmayan

Parametreli fonksiyonlarda yukarıdaki verdiğimiz son örnekten devam edebiliriz. Buradaki “sayi1” ve “sayi2" parametrelerini veriyoruz.

// Parametreli,
let test = (sayi1,sayi2) => sayi1+sayi2;
// Parametreli 2. örnek,
let test = (sayi1,sayi2) => {
return sayi1+sayi2
};
// Parametresiz,
let test = () => console.log("parametresiz");
// Parametresiz 2. örnek,
let test = _ => console.log("parametresiz");
// Yukarıdaki örneklerde parametrelerin varsayılan değeri yok. Şimdi birde varsayılan değerleri tanımlayarak yapalım,let test = (sayi1=2,sayi2=3,sayi3=5) => sayi1+sayi2*sayi3;
//Çağırmak istersekte aşağıda bir kaç örnek yazalım, parantezler içine argüman olarak hiç birşey yazmadığımızda varsayılan değerleri kullanır. Verilen argümanları da sırasıyla eşleştirir.
test(); // Sonuç, 2+3*5= 17 olur,
test(2,2); // Sonuç, 2+2*5= 12 olur,
console.log(test(2,4,5)); // Sonuç, 2+4*5= 22 olur.

--

--

Argedik

Mobil, Web, tasarım ve yazılım denizine atlayan