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:funcchaqirilishi davomida ishlatiladigan qiymat. AgarthisArgnullyokiundefinedboʻlsa,thisno-strict rejimda global obyektdan oʻzgartiriladi (yoki strict rejimdaundefinedboʻlib qoladi).arg1,arg2, ... :funcfunksiyasiga uzatiladigan argumentlar.
Asosiy qoʻllanilishi:
- Chaqiruv kontekstini oʻzgartirish: Funktsiya ichida
thisorqali 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,
callyordamida 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 }