Sobes.tech
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 this qiymati 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 this qiymati 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 this qiymatiga 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