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:
-
thisbağlamı: Ok fonksiyonlarda,thisçevresel bağlamdan lexikal olarak miras alınır, yani kendithisbağlamını oluşturmaz. Normal fonksiyonlarda,thisfonksiyonun nasıl çağrıldığına bağlıdır. -
argumentsyokluğu: Ok fonksiyonların kendiargumentsnesnesi yoktur. Argümanlara erişmek için parametreler veya dış değişkenler kullanılmalıdır. -
Yapıcı olarak kullanılamaz: Ok fonksiyonlar
newile ç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.