ES6 agregó funciones de flecha de grasa ( =>), que tienen dos diferencias principales con respecto a las funciones normales:
- sintaxis más corta (incluido el retorno implícito si usa un cuerpo de expresión única)
- heredar
thisdel alcance circundante
Ambas son características muy útiles, pero me parecen completamente separadas en su valor y aplicación; a veces quiero una, o la otra, o ambas, o ninguna. Parece extraño que si quiero usar una función de sintaxis corta, también tengo que usar el thiscomportamiento de modificación. Y viceversa. No veo por qué estas dos capacidades se implementan como una sola adición al lenguaje.
¿Qué sucede si quiero usar una función de sintaxis corta para su retorno implícito y brevedad (en algún contexto donde un completo function (..) { return ...}sería un poco menos legible), pero quiero usar thisen mi función para referirme al contexto de llamada? No hay forma de hacer esto.
CoffeeScript tiene ambas funciones ->y =>estilo, y aparentemente ES6 tomó prestado el =>estilo a partir de ahí. Entonces mi pregunta es, ¿por qué ES6 tampoco tomó prestado el ->estilo?
thisal cierre en una declaración de función completa. Sin embargo, esta podría no ser la parte que le preocupa.
arguments.