Sobes.tech
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ər thisArg null və ya undefined-dirsə, this qeyri-məhdud rejimdə qlobal obyektə dəyişdiriləcək (və ya sərt rejimdə undefined qalacaq).
  • 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ə this vasitə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, call istifadə 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 }