Junior
JavaScript-də call funksiyası nə edir?
sobes.tech Süni İntellekt
AI-dan cavab
JavaScript-də call funksiyası tətbiq olunduğu funksiyanı çağırır və müəyyən bir this dəyəri təyin edir və arqumentləri ayrıca ötürür.
Ümumi sintaksi:
func.call(thisArg, arg1, arg2, ...);
thisArg:func-in çağırılması zamanı istifadə olunacaq dəyər. ƏgərthisArgnullvə yaundefined-dirsə,thisqeyri-məhdud rejimdə qlobal obyektə dəyişdiriləcək (və ya sərt rejimdəundefinedqalacaq).arg1,arg2, ... :func-a ötürülən arqumentlər.
Əsas istifadə sahələri:
- Çağırış kontekstinin dəyişdirilməsi: Bu, funksiyanın içində
thisvasitəsilə əlçatan olan obyektin açıq şəkildə müəyyən edilməsinə imkan verir. - Metodların icarəyə götürülməsi: Bu, bir obyektin metodlarını başqa obyekt üçün istifadə etməyə imkan verir.
- Mirasın (siniflərdən əvvəl) emulyasiyası: Köhnə JavaScript versiyalarında,
callistifadə edilərək valideyn konstruktoru uşaq obyektin kontekstində çağırıla bilərdi.
Kontekstin dəyişdirilməsi nümunəsi:
function greet() {
console.log(`Salam, ${this.name}!`);
}
const person = { name: 'Əli' };
greet.call(person); // Nəticə: Salam, Əli!
Metodların icarəyə götürülməsi nümunəsi:
const numbers = [1, 2, 3];
// Array metodundan istifadə edilərək array-ə bənzər obyekt üzərində
const arrayLike = { 0: 'a', 1: 'b', length: 2 };
Array.prototype.splice.call(arrayLike, 0, 1);
console.log(arrayLike); // Nəticə: { 0: 'b', length: 1 }