Sobes.tech
Junior — Middle

JavaScript'te ok işlevlerinin kullanımı ile standart işlevlerin kullanımı arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

JavaScript'teki ok fonksiyonlar, standart fonksiyonlardan birkaç önemli noktada farklılık gösterir:

  • this bağlamı: Ok fonksiyonlarda, this çevresel bağlamdan lexikal olarak miras alınır, yani kendi this bağlamını oluşturmaz. Normal fonksiyonlarda, this fonksiyonun nasıl çağrıldığına bağlıdır.

  • arguments yokluğu: Ok fonksiyonların kendi arguments nesnesi yoktur. Argümanlara erişmek için parametreler veya dış değişkenler kullanılmalıdır.

  • Yapıcı olarak kullanılamaz: Ok fonksiyonlar new ile çağrılamaz, çünkü içsel [[Construct]] yöntemi yoktur.

  • Daha kısa sözdizimi: Ok fonksiyonlar genellikle daha kısadır ve kısa fonksiyonlar yazmak için uygundur.

Örnek:

const obj = {
  value: 10,
  regularFunc: function() {
    console.log(this.value); // 10
  },
  arrowFunc: () => {
    console.log(this.value); // tanımsız veya dış bağlamdan değer
  }
};

obj.regularFunc(); // 10'u yazdırır
obj.arrowFunc();   // undefined yazdırır

Bu nedenle, ok fonksiyon ve normal fonksiyon arasında seçim, bağlamı yönetme ihtiyacına ve kullanım özelliklerine bağlıdır.