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
fonksiyon.bind(bağlam, parametre1, parametre2...);
Örnek
Bir input elemanımız olduğunu varsayalım:
<input id="elem" value="text">
Bu inputa referansın elem değişkeninde
kayıtlı olduğunu varsayalım:
let elem = document.querySelector('#elem');
Ayrıca şu func fonksiyonuna sahip olduğumuzu
varsayalım:
function 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:
let newFunc = func.bind(elem);
Şimdi newFunc değişkeninde bir fonksiyon bulunuyor.
İlk parametreye '1', ikinci parametreye ise '2'
ileterek çağıralım:
newFunc('1', '2');
Hepsini bir araya getirelim:
let 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:
func = func.bind(elem);