Sobes.tech
Junior

JavaScriptda call funktsiyasi nima qiladi?

sobes.tech AI

AIdan javob

JavaScript'da call funksiyasi, unga qoʻllaniladigan funksiyani chaqiradi va maʼlum bir this qiymatini oʻrnatadi hamda argumentlarni alohida uzatadi.

Umumiy sintaksis:

func.call(thisArg, arg1, arg2, ...);
  • thisArg: func chaqirilishi davomida ishlatiladigan qiymat. Agar thisArg null yoki undefined boʻlsa, this no-strict rejimda global obyektdan oʻzgartiriladi (yoki strict rejimda undefined boʻlib qoladi).
  • arg1, arg2, ... : func funksiyasiga uzatiladigan argumentlar.

Asosiy qoʻllanilishi:

  • Chaqiruv kontekstini oʻzgartirish: Funktsiya ichida this orqali kirish mumkin boʻlgan ob'ektni aniq belgilash imkonini beradi.
  • Metodlarni ijaraga olish: Bir ob'ektning metodlarini boshqasida ishlatish imkonini beradi.
  • Merosi (klasslar oldidan) emulyatsiyasi: Eski JavaScript versiyalarida, call yordamida ota-ona konstruktorini bola ob'ekt kontekstida chaqirish mumkin edi.

Kontekstni oʻzgartirish misoli:

function greet() {
  console.log(`Salom, ${this.name}!`);
}

const person = { name: 'Ali' };

greet.call(person); // Natija: Salom, Ali!

Metod ijaraga olish misoli:

const numbers = [1, 2, 3];

// Array metodidan foydalanish ob'ekt ustida
const arrayLike = { 0: 'a', 1: 'b', length: 2 };

Array.prototype.splice.call(arrayLike, 0, 1);

console.log(arrayLike); // Natija: { 0: 'b', length: 1 }