Junior
`Function.prototype.bind` fonksiyonu nedir ve ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
Function.prototype.bind yeni bir fonksiyon oluşturur ve bu fonksiyon çağrıldığında, sabitlenmiş bir bağlam (this) ve isteğe bağlı olarak, yeni fonksiyon çağrıldığında iletilecek argümanlardan önce gelen önceden tanımlanmış argümanlar ile çağrılır.
Bu, şunlar için kullanışlıdır:
- metodların geri çağırma veya olay işleyicisi olarak iletilirken bağlamın korunması.
- fonksiyonların kısmi uygulaması (currying).
// Bağlamın korunması örneği
const user = {
name: 'Alice',
greet: function() {
console.log(`Merhaba, ${this.name}!`);
}
};
const greetUser = user.greet;
greetUser(); // Merhaba, undefined! (bağlam kayboldu)
const bindedGreetUser = user.greet.bind(user);
bindedGreetUser(); // Merhaba, Alice! (bağlam korundu)
// Kısmi uygulama örneği
function multiply(a, b) {
return a * b;
}
const multiplyByTwo = multiply.bind(null, 2); // null bağlam olarak, gerekmediği için
console.log(multiplyByTwo(5)); // 10