Sobes.tech
Junior

İki fonksiyon tanımlama yöntemleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Ana temel fark this bağlamıdır.

Fonksiyon Tanımlama Yöntemi Fark
function declaration this bağlamı, fonksiyonun nasıl çağrıldığına göre belirlenir. Kod çalıştırılmadan önce yükseltilir (hoisting).
ok fonksiyonu this bağlamı, çevresel (lexical) bağlamdan miras alınır. Yükseltilmez (hoisting yok).
// fonksiyon bildirimi
function normalFonksiyon() {
  console.log(this); // `this` çağrıya bağlıdır
}

// ok fonksiyonu
const okFonksiyon = () => {
  console.log(this); // `this`, fonksiyon tanımlandığı bağlamdan miras alınır
};

Ok fonksiyonlarının kendi arguments nesnesi de yoktur (dış bağlamdan alınır) ve new operatörüyle yapıcı fonksiyon olarak kullanılamazlar.