Quais são as diferenças (se houver) entre as funções de seta do ES6 e as funções associadas ao Function.prototype.bind?
Parece-me que, no ES6, as duas funções a seguir são muitopor pouco idêntico:
function () {
return this;
}.bind(this);
() => {
return this;
};
O resultado final parece o mesmo: as funções de seta produzem um objeto de função JavaScript com seusthis
contexto vinculado ao mesmo valor que othis
onde eles são criados.
Obviamente, no sentido geral,Function.prototype.bind
é mais flexível que as funções de seta: pode vincular-se a valores diferentes do localthis
e pode vincular qualquer funçãothis
a qualquer momento, potencialmente muito tempo após a criação inicial. No entanto, não estou perguntando comobind
em si é diferente das funções das setas, estou perguntando como as funções das setas diferem da chamada imediatabind
comthis
.
Existem diferenças entre as duas construções no ES6?