JavaScript · Intermediário · Inglês · Técnico
bind
Método de função que devolve uma nova função com this fixo e, opcionalmente, argumentos já preenchidos. A original não é alterada, e o this fixado não muda depois.
Onde usar
Usado para passar métodos como callback sem perder o this e para aplicação parcial. Em code review, as arrow functions o substituem na maioria dos casos.
Em código
const o = { n: 'x', f() { return this.n; } };
const presa = o.f.bind(o);
console.log(presa()); // 'x'
console.log(o.f.call({ n: 'y' })); // 'y'Exemplos
Bind the method in the constructor so this doesn't get lost.
Faça o bind do método no constructor para o this não se perder.
The bind returns a new function, it doesn't call the original.
O bind devolve uma função nova, não chama a original.
Cuidado
Achar que bind chama a função: ele só devolve outra, e quem invoca são call e apply.
Sinônimos
ligar
Origem
Do inglês bind, 'amarrar'.