ES6 agregó fat-arrow funciones ( =>
), que tienen dos diferencias principales de las funciones normales:
- sintaxis más corta (incluida la devolución implícita si utiliza un cuerpo de una sola expresión)
- heredar
this
del ámbito que lo rodea
Estas dos características son muy útiles, pero me parecen completamente separadas en su valor y aplicación; a veces quiero una, la otra, o ambas, o ninguna. Parece extraño que si quiero usar una función de sintaxis corta, tengo para usar también el comportamiento de modificación this
. Y viceversa. No veo por qué estas dos capacidades se implementan como una adición única al lenguaje.
¿Qué sucede si deseo usar una función de sintaxis corta para su retorno implícito y brevedad (en algún contexto donde un function (..) { return ...}
completo sería un poco menos legible), pero quiero usar this
en mi función para referirme a ¿El contexto que llama? No hay manera de hacer esto.
CoffeeScript tiene funciones de estilo ->
y =>
, y al parecer ES6 tomó prestado el estilo =>
de allí. Así que mi pregunta es, ¿por qué ES6 tampoco tomó prestado el estilo ->
?