Sitemap

JS (call, apply, bind)

2 min readJan 7, 2026

--

call, apply, bind — bu metodlar orqali siz funksiyadagi this kalit so‘zini qo‘lda berishingiz (o‘zgartirishingiz) mumkin.

JavaScript’da har bir function this bilan birga keladi.
Lekin this funksiya qayerda yozilganiga emas, qanday chaqirilganiga bog‘liq bo‘ladi.

Agar biz xohlasak, this ni o‘zimiz istagan qiymatga bog‘lashimiz mumkin.
Lekin qanday qilib?

Axir funksiya ichidagi this oldindan berilgan bo‘lsa, uni o‘zgartirib bo‘lmaydigandek tuyuladi.
To‘g‘ri — mavjud funksiyaning this ini to‘g‘ridan-to‘g‘ri o‘zgartira olmaymiz.

Get Ruzmatboy Jumaniyozov’s stories in your inbox

Join Medium for free to get updates from this writer.

Lekin JavaScript’da aylanma yo‘l bor 🙂
Ya’ni biz:

  • yoki funksiyani boshqa kontekstda chaqiramiz
  • yoki yangi funksiya yaratib, unga kerakli this ni bog‘laymiz

👉 call, apply, bind aynan shu prinsip asosida ishlaydi.

Press enter or click to view image in full size

Event handler misoli (this qanday ishlaydi)

button.addEventListener('click', function () {
console.log(this);
});

// this → button elementiga ishora qiladi

event bosilganda cansolga"hacked" yozuvini chiqaramiz:

function hacked() {
console.log(this);
// 'hacked'
};

button.addEventListener('click', hacked.bind('hacked'));

//bu kod orqali biz thisni qiymatini ozgartirdik!

📞 call() va apply()

call() — berilgan this qiymati bilan funksiyani darhol chaqiradi va argumentlarni alohida-alohida qabul qiladi.

apply() — xuddi call() kabi, lekin argumentlarni array ko‘rinishida oladi.

🔗 bind()

bind() — o’rqali biz o’sha functioni hohlagan joyimizda ishlatimiz mumkin boladi , o’zgaruvchiga yuklagan holatda . call va apply da esa osha yerni ozida ishlaydi.

Bu mavzu JavaScript’dagi eng muhim va amaliy mavzulardan biridir.
Bugun biz call, apply, bind metodlarini real use caselar orqali ko‘rib chiqdik va ularning asl mohiyatini tushunishga harakat qildik.

--

--