O ES6 adicionou funções de seta de gordura ( =>
), que têm duas grandes diferenças em relação às funções normais:
- sintaxe mais curta (incluindo retorno implícito se você usar um corpo de expressão única)
- herdar
this
do escopo circundante
Esses são recursos muito úteis, mas me parecem completamente separados em seu valor e aplicação - às vezes eu quero um, ou outro, ou ambos, ou nenhum. Parece estranho que se eu quiser usar uma função de curto sintaxe, eu tenho de usar também o this
comportamento -modifying. E vice versa. Não vejo por que esses dois recursos são implementados como uma única adição ao idioma.
E se eu quiser usar uma função de sintaxe curta para seu retorno e brevidade implícitos (em algum contexto em que um total function (..) { return ...}
seria um pouco menos legível), mas eu quero usar this
em minha função para me referir ao contexto de chamada? Não há como fazer isso.
O CoffeeScript possui funções de estilo ->
e =>
, aparentemente, o ES6 pegou emprestado o =>
estilo a partir daí. Então, minha pergunta é: por que o ES6 também não emprestou o ->
estilo?
this
ao fechamento em uma declaração de função completa. Esta pode não ser a parte com a qual você está preocupado.
arguments
.