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.