Skip to content

JavaScript funksiyasi "call()"

call() metodi JavaScript-ning o'rnatilgan metodi bo'lib, u bitta obyektga tegishli metodni boshqa obyekt uchun ishlatish imkonini beradi.


Metodlarni "qarzga" olish

JavaScript-da funksiyalar obyekt metodlari hisoblanadi. Agar funksiya obyektning bir qismi bo'lmasa, u global obyektning metodi hisoblanadi.

call() metodi yordamida biz bir obyektning metodini argument sifatida boshqa obyektni ko'rsatgan holda chaqira olamiz. Bu this qiymatini o'sha ko'rsatilgan obyektga bog'laydi.

Misol

js
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
const person1 = {
  firstName: "John",
  lastName: "Doe"
}
const person2 = {
  firstName: "Mary",
  lastName: "Doe"
}

// person-ning fullName metodini person1 uchun ishlatish:
person.fullName.call(person1);  // "John Doe" qaytaradi

"call()" metodiga argumentlar uzatish

call() metodi birinchi bo'lib this uchun obyektni, keyin esa funksiya uchun kerakli argumentlarni qabul qiladi.

Misol

js
const person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + ", " + city + ", " + country;
  }
}

const person1 = {
  firstName: "John",
  lastName: "Doe"
}

person.fullName.call(person1, "Oslo", "Norway");

Farqi nimada?

Keyingi bo'limda o'rganadigan apply() metodidan farqli o'laroq, call() argumentlarni birma-bir (alohida) qabul qiladi.