bind metodu
bind metodu funksiyaya kontekst bind etmək üçündür.
Birinci parametr kimi kontekst,
sonrakı parametrlər kimi isə funksiyanın parametrləri
ötürülməlidir. Metod yeni bir funksiya qaytarır,
onun daxilində this ötürülən kontekstə bərabər olacaq.
Sintaksis
funksiya.bind(kontekst, parametr1, parametr2...);
Nümunə
Tutaq ki, bizim bir inputumuz var:
<input id="elem" value="text">
Tutaq ki, bu inputa istinad dəyişəndə
elem yazılıb:
let elem = document.querySelector('#elem');
Tutaq ki, bizim həmçinin aşağıdakı func
funksiyası var:
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
Gəlin bind köməyi ilə func funksiyasının
kopyası olan, lakin içindəki this həmişə
elem-ə bərabər olacaq yeni funksiya yaradaq:
let newFunc = func.bind(elem);
İndi newFunc dəyişənində bir funksiya var.
Gəlin onu çağıraq, birinci parametrə '1',
ikinciyə isə '2' ötürək:
newFunc('1', '2');
Gəlin hamısını bir yerə yığaq:
let elem = document.getElementById('elem');
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
let newFunc = func.bind(elem);
newFunc('1', '2'); // 'text12' çap edəcək
Nümunə
bind-in işinin nəticəsini yeni newFunc
funksiyasına yazmaq məcburiyyəti yoxdur,
sadəcə func-i yenidən yaza bilərsiniz:
let func = func.bind(elem);