ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

bind

/baɪnd/verbo

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'.

Veja também

Todos os termos de JavaScript