ES6 a ajouté des fonctions de flèche de graisse ( =>
), qui ont deux différences majeures par rapport aux fonctions normales:
- syntaxe plus courte (y compris retour implicite si vous utilisez un corps à expression unique)
- hériter
this
de la portée environnante
Ce sont deux fonctionnalités très utiles, mais elles me semblent complètement distinctes dans leur valeur et leur application - parfois je veux l'une, ou l'autre, ou les deux, ou aucune. Il semble étrange que si je veux utiliser une fonction de syntaxe courte, je dois également utiliser le this
comportement -modifier. Et vice versa. Je ne vois pas pourquoi ces deux capacités sont implémentées comme un seul ajout au langage.
Que faire si je veux utiliser une fonction de syntaxe courte pour son retour implicite et sa brièveté (dans un contexte où un full function (..) { return ...}
serait légèrement moins lisible), mais je veux utiliser this
dans ma fonction pour faire référence au contexte appelant? Il n'y a aucun moyen de le faire.
CoffeeScript a deux ->
et =>
fonctions de style, et apparemment ES6 a emprunté le =>
style à partir là - bas. Ma question est donc la suivante: pourquoi ES6 n'a-t-il pas également emprunté le ->
style?
this
à la fermeture dans une déclaration de fonction complète. Ce n'est peut-être pas la partie qui vous préoccupe cependant.
arguments
.