Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

relação do bind, apply ou call

É correto afirmar que o bind do ES2015 é semelhando ao call ou apply do ES5? Vi muita semelhança entre essas abordagens?

3 respostas
solução!

Sim, correto! Qual você prefere?

Entao. Eu fiquei com duvida quanto ao envio de parametros para as funcoes. E daí dando uma pesquisada mais a fundo, percebi que o apply e o call mudam o 'this' e já chamam a funcao. Já o bind muda o 'this' quando a funcao for chamada. Tem uma diferença sutil.

Valeu Flavio.

Isso mesmo. O bind devolve a função como this modificado. Daí você não precisa se preocupar em ficar trocando o this com apply ou calll.

Já o apply e o call são iguais, a diferença é que um aceita receber parâmetros em um array e outro não. Nele, você pode trocar o this a qualquer momento sem alterar o this definitivamente da função.

No entanto, com a entrada do Reflect a ideia é que você use os métodos dela sempre que possível, não porque é melhor ou pior, mas é porque centralizaram tudo nela. É claro, eles não podem remover call e apply das funções se não quebra zilhões de código pelo mundo.

Sucesso e bom estudo Daniel!