Junior
`Function.prototype.bind` funksiyası nə edir və nə üçün lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Function.prototype.bind yeni bir funksiyanı yaradır və çağırıldığında, ona sərt şəkildə təyin olunmuş kontekst (this) və istəyə bağlı olaraq, yeni funksiyaya çağırıldığında verilən arqumentlərdən əvvəl gələn əvvəlcədən təyin olunmuş arqumentlər ilə çağırılır.
Bu, aşağıdakı üçün faydalıdır:
- metodların callback və ya hadisə idarəediciləri kimi ötürülərkən kontekstin saxlanması.
- funksiyaların qismən tətbiqi (currying).
// Kontekstin saxlanması nümunəsi
const user = {
name: 'Alice',
greet: function() {
console.log(`Salam, ${this.name}!`);
}
};
const greetUser = user.greet;
greetUser(); // Salam, undefined! (kontekst itirilib)
const bindedGreetUser = user.greet.bind(user);
bindedGreetUser(); // Salam, Alice! (kontekst saxlanılıb)
// Qismən tətbiq nümunəsi
function multiply(a, b) {
return a * b;
}
const multiplyByTwo = multiply.bind(null, 2); // null kontekst üçün, çünki lazım deyil
console.log(multiplyByTwo(5)); // 10