Bind allows us to copy a function. Why would we want to do this? By copying it, we change the context of “this” for the entire new function. Here is an example…
let animal = {
animalName: ‘Bongo’,
getName: function(){
return this.animalName;
}
};
let newAnimalName = { animalName: ‘George’ };
let newAnimal = animal.getName.bind(newAnimalName); console.log(newAnimal());
The output would be “George”. This was possible because we used bind to copy the original function to the newAnimal function. This also allowed us to change the “this” context to newAnimalName at the same time.
Happy Coding!
Clay Hess