Sobes.tech
Junior

Fonksiyon oluşturmanın hangi yollarını biliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te fonksiyonlar oluşturmanın birkaç yolu vardır, her biri kendi özellikleriyle:

  1. Fonksiyon Bildirimleri (Function Declarations): Klasik fonksiyon oluşturma yöntemidir. Yukarı kaldırılırlar (hoisted) ve bu, onları bildirimlerinden önce çağırmaya olanak tanır.

    // function kullanarak fonksiyon bildirimi
    function greet(name) {
      return "Merhaba, " + name + "!";
    }
    
  2. Fonksiyon İfadeleri (Function Expressions): Fonksiyon, bir ifadenin parçası olarak oluşturulur ve bir değişkene atanır. Aynı ölçüde yukarı kaldırılmazlar (not hoisted).

    // Fonksiyon ifadesi
    const greet = function(name) {
      return "Merhaba, " + name + "!";
    };
    
  3. Ok Fonksiyonları (Arrow Functions): Fonksiyon ifadeleri için kısaltılmış sözdizimi. this ve kendi argümanları (arguments) olmaması gibi klasik fonksiyonlardan farkları vardır.

    // Ok fonksiyonu
    const greet = (name) => {
      return "Merhaba, " + name + "!";
    };
    
    // Kısaltılmış biçim, dolaysız dönüş
    const greetShort = (name) => "Merhaba, " + name + "!";
    
  4. Yapıcı Fonksiyonlar (Constructor Functions): Nesneler oluşturmak için kullanılırlar. new anahtar kelimesiyle çağrılırlar.

    // Yapıcı fonksiyon
    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    // Yapıcı kullanarak örnek oluşturma
    const person1 = new Person("Aleksei", 30);
    
  5. Sınıf Yöntemleri (Class Methods): Sınıflarda (protottip kalıtım üzerinde sözdizimi şekerlemesi) fonksiyonlar yöntemler olarak tanımlanır.

    // Yöntemi olan sınıf bildirimi
    class Greeter {
      greet(name) {
        return "Merhaba, " + name + "!";
      }
    }
    
    // Sınıf örneği oluşturma ve yöntemi çağırma
    const greeter = new Greeter();
    const message = greeter.greet("Dünya");
    
  6. Hemen Çağrılan Fonksiyon İfadeleri (IIFE): Oluşturulduktan hemen sonra çalışan fonksiyon ifadesi. Yerel bir alan oluşturmak için kullanılır.

    // IIFE
    (function() {
      // IIFE içindeki kod
      console.log("Bu fonksiyon hemen çalışır!");
    })();
    

Her yöntemin avantajları ve dezavantajları vardır ve seçim, belirli göreve ve bağlama bağlıdır.