Sobes.tech
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