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);