Middle
JavaScript'da call, apply va bind metodlari nima?
sobes.tech AI
AIdan javob
call, apply va bind JavaScriptda mavjud bo'lgan barcha funksiyalar uchun mavjud bo'lgan metodlardir. Ular funksiyaning bajarilish kontekstini (this qiymatini) boshqarish uchun ishlatiladi.
- call: Funksiyani belgilangan
thisqiymati va ajratilgan argumentlar bilan chaqiradi.// call dan foydalanish misoli function greet() { return "Salom, " + this.name + "!"; } const person = { name: "Ivan" }; console.log(greet.call(person)); // Natija: Salom, Ivan! - apply: Funksiyani belgilangan
thisqiymati va massiv yoki pseudo-massiv shaklidagi argumentlar bilan chaqiradi.// apply dan foydalanish misoli function sum(a, b) { return this.base + a + b; } const context = { base: 10 }; const numbers = [5, 3]; console.log(sum.apply(context, numbers)); // Natija: 18 - bind: Yangi funksiya yaratadi, bu funksiya chaqirilganda belgilangan
thisqiymatiga ega bo'ladi. Asl funksiya darhol chaqirilmaydi.// bind dan foydalanish misoli const module = { x: 42, getX: function() { return this.x; } }; const unboundGetX = module.getX; console.log(unboundGetX()); // Natija: undefined (this global ob'ektga ishora qiladi) const boundGetX = unboundGetX.bind(module); console.log(boundGetX()); // Natija: 42 (this module bilan bog'langan)
Asosiy farqlar:
| Usul | Argumentlarni uzatish | Funksiyani chaqirish | Qaytish qiymati |
|---|---|---|---|
| call | Ajratilgan (vergul bilan) | Darhol | Funksiya natijasi |
| apply | Array yoki pseudo-array shaklida | Darhol | Funksiya natijasi |
| bind | Ajratilgan (vergul bilan) | Darhol emas | Yangi funksiya, this bilan bog'langan |