bind Metodu

bind metodu bir fonksiyona bağlam bağlamanıza olanak tanır. İlk parametre olarak bağlam iletilmelidir, sonraki parametreler ise fonksiyonun parametreleridir. Metod, içinde this'in iletilen bağlama eşit olacağı yeni bir fonksiyon döndürür.

Sözdizimi

javascriptfonksiyon.bind(bağlam, parametre1, parametre2...);

Örnek

Bir input elemanımız olduğunu varsayalım:

html<input id="elem" value="text">

Bu inputa referansın elem değişkeninde kayıtlı olduğunu varsayalım:

javascriptlet elem = document.querySelector('#elem');

Ayrıca şu func fonksiyonuna sahip olduğumuzu varsayalım:

javascriptfunction func(param1, param2) {
  console.log(this.value + param1 + param2);
}

bind kullanarak, func fonksiyonunun bir kopyası olan, ancak içindeki this'in her zaman elem'ye eşit olacağı yeni bir fonksiyon yapalım:

javascriptlet newFunc = func.bind(elem);

Şimdi newFunc değişkeninde bir fonksiyon bulunuyor. İlk parametreye '1', ikinci parametreye ise '2' ileterek çağıralım:

javascriptnewFunc('1', '2');

Hepsini bir araya getirelim:

javascriptlet elem = document.getElementById('elem');

function func(param1, param2) {
  console.log(this.value + param1 + param2);
}

let newFunc = func.bind(elem);
newFunc('1', '2'); // 'text12' yazdıracak

Örnek

bind metodunun sonucunu yeni bir newFunc fonksiyonuna kaydetmek zorunda değilsiniz, sadece func'ın üzerine yazabilirsiniz:

javascriptfunc = func.bind(elem);

Ayrıca Bakınız

  • call metodu,
    fonksiyonu bir bağlam ile çağırır
  • apply metodu,
    fonksiyonu bir bağlam ile çağırır