Funkcja bind w JavaScript

Funkcja bind została dodana w ES5, wskazuje wprost kontekst this wywoływanej funkcji. Zobaczmy przykład:

 let obj = {
     name: "Ola",
     // this wskazuje na obiekt obj z którego
     // pobrana jest wartość name 
     print: function(surname, city) { 
        console.log( this.name, surname, city ); 
     }
 };
 obj.print("Kot", "Wawa"); // Ola Kot Wawa

// call pozwala na zmianę kontekstu w jakim wywoływana jest funkcja
let user = { name: "Rafał" }; 

let rInfo = obj.print.bind(user, "Musk", "Gdańsk");
rInfo(); // Rafał Musk Gdańsk  - na stałe przypisane this i argumenty

Dzięki bind na stałe możemy przypisać this wraz z argumentami co może znacząco ułatwić nam prace w JavaScript.

KW

Scroll to Top