Junior
JavaScript'te apply yöntemi nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
apply yöntemi, fonksiyonlar üzerinde çağrılır ve bu fonksiyonun belirli bir this değeri ve dizi (veya dizi benzeri nesne) biçiminde geçirilen argümanlarla çağrılmasını sağlar.
Ana yönler:
thisayarı:applymetodunun ilk argümanı, çağrılan fonksiyon içindekithisanahtar kelimesinin değerini belirler. Eğernullveyaundefinedverilirse, strict olmayan moddathisküresel nesneye (örneğin, tarayıcıdawindow, Node.js'deglobal) referans eder; strict modda iseundefinedkalır.- Argümanların iletimi: İkinci argüman, fonksiyonun çağrılacağı argümanlar dizisini içeren bir dizi (veya dizi benzeri nesne) olmalıdır ve dizideki öğeler, fonksiyonun argümanları olarak kullanılır, dizideki sırasına göre.
Sözdizimi:
function.apply(thisArg, argsArray)
thisArg: Fonksiyon çağrısı sırasında kullanılacakthisdeğeri.argsArray: Fonksiyonun çağrılacağı argümanları içeren dizi veya dizi benzeri nesne.
call ile farkları:
apply, argümanları bir dizi olarak alır.call, argümanları ayrı ayrı,thisArg'den sonra sıralı olarak alır.
Kullanım örneği:
// Bir dizideki maksimum sayıyı hesaplayan fonksiyon
const numbers = [1, 5, 2, 8, 3];
const max = Math.max.apply(null, numbers);
console.log(max); // 8
// Bir nesnenin metodunu başka bir bağlamla çağırma
const person1 = { name: 'Alice' };
const person2 = { name: 'Bob' };
function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`);
}
greet.apply(person1, ['Hello', '!']); // Hello, Alice!
gree.apply(person2, ['Hi', '?']); // Hi, Bob?
Kullanım alanları:
- Argüman dizisini, fonksiyonun ayrı ayrı beklediği argümanlara dönüştürmek.
- Fonksiyon çağrısı sırasında
thisbağlamını değiştirmek. - Çok argümanlı metodlar ile kullanmak (örneğin,
Math.max,Math.min).