É correto afirmar que o bind do ES2015 é semelhando ao call ou apply do ES5? Vi muita semelhança entre essas abordagens?
É correto afirmar que o bind do ES2015 é semelhando ao call ou apply do ES5? Vi muita semelhança entre essas abordagens?
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!