Sobes.tech
Intern

JavaScript'te hangi fonksiyonlar var?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'te aşağıdaki fonksiyon türleri bulunmaktadır:

  • Fonksiyon Bildirimleri (Function Declarations): Bir fonksiyon tanımlamak için temel sözdizimi. Derleme sırasında yukarı taşınırlar (hoisted).

    function sayHello() {
      // Fonksiyon gövdesi
      console.log("Merhaba!");
    }
    
  • Fonksiyon İfadeleri (Function Expressions): Bir fonksiyon bir değişkene atanır. Yukarı taşınmazlar. İsimli veya isimsiz olabilirler.

    const greetUser = function(name) {
      // Fonksiyon gövdesi
      console.log(`Merhaba, ${name}!`);
    };
    
  • Ok Fonksiyonları (Arrow Functions): ES6 ile gelen daha özlü sözdizimi. this davranışlarında özellikleri vardır.

    const add = (a, b) => a + b;
    
  • Nesne Metotları (Object Methods): Nesne özellikleri olarak tanımlanan fonksiyonlar.

    const user = {
      name: "İvan",
      sayName: function() {
        console.log(this.name);
      }
    };
    
  • Jeneratör Fonksiyonlar (Generator Functions): yield kullanarak duraklatıp devam edebilen fonksiyonlar. Bir yineleyici dönerler.

    function* counter() {
      let i = 0;
      while (true) {
        yield i++;
      }
    }
    
  • Async Fonksiyonlar (Async Functions): Promislerle çalışan ve await anahtar kelimesiyle promislerin tamamlanmasını bekleyen fonksiyonlar.

    async function fetchData() {
      const response = await fetch("https://api.example.com/data");
      const data = await response.json();
      return data;
    }
    
  • Yapıcı Fonksiyonlar (Constructor Functions): new operatörüyle nesne oluşturmak için kullanılan fonksiyonlar. Sınıflardan önceki geleneksel OOP yaklaşımı.

    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    const person1 = new Person("Petr", 30);
    
  • Geri Çağrı Fonksiyonları (Callback Functions): Bir başka fonksiyona argüman olarak geçirilen ve belirli bir zamanda çalışan fonksiyonlar.

    function processArray(arr, callback) {
      for (let i = 0; i < arr.length; i++) {
        callback(arr[i]);
      }
    }
    
    processArray([1, 2, 3], function(item) {
      console.log(item * 2);
    });
    
  • Hemen Çağrılan Fonksiyon İfadeleri (IIFE - Immediately Invoked Function Expressions): Tanımlandıktan hemen sonra çalışan fonksiyonlar. Yerel kapsam oluşturmak için kullanılır.

    (function() {
      // Yerel kod
      const secret = "gizem";
      console.log(secret);
    })();
    

Her fonksiyon tipi kendi sözdizimi özelliklerine, kapsamına (this) ve kullanım senaryolarına sahiptir.