Junior
`Function.prototype.bind` funksiyasi nima qiladi va nima uchun kerak?
sobes.tech AI
AIdan javob
Function.prototype.bind yangi funktsiya yaratadi va chaqirilganda, u qat'iy belgilangan kontekst (this) va ixtiyoriy ravishda, chaqirilganda yangi funktsiyaga uzatiladigan argumentlardan oldin keladigan oldindan belgilangan argumentlar bilan chaqiriladi.
Bu quyidagilar uchun foydalidir:
- metodlarni callback yoki voqea ishlovchilar sifatida uzatishda kontekstni saqlash.
- funksiyalarni qisman qo'llash (currying).
// Kontekstni saqlash misoli
const user = {
name: 'Alice',
greet: function() {
console.log(`Salom, ${this.name}!`);
}
};
const greetUser = user.greet;
greetUser(); // Salom, undefined! (kontekst yo'qolgan)
const bindedGreetUser = user.greet.bind(user);
bindedGreetUser(); // Salom, Alice! (kontekst saqlangan)
// Qisman qo'llash misoli
function multiply(a, b) {
return a * b;
}
const multiplyByTwo = multiply.bind(null, 2); // null kontekst uchun, chunki kerak emas
console.log(multiplyByTwo(5)); // 10