Utilisation Babel J'ai remarqué quelque chose d'un peu bizarre.
Ne devrait pas const app = () => {}
est égal à var app = function() {}
?
Retour de Babel var app = function app() {}
.
Utilisation Babel J'ai remarqué quelque chose d'un peu bizarre.
Ne devrait pas const app = () => {}
est égal à var app = function() {}
?
Retour de Babel var app = function app() {}
.
Non, babel a raison car une fonction arrow assignée à une var devrait en théorie avoir une propriété name équivalente au nom de cette var pour faciliter les traces de pile et la réflexion. Voir este pour plus d'informations. Résumé rapide au cas où il ne serait plus d'actualité :
La propriété name d'une fonction est créée au moment de la déclaration. La propriété de nom d'une expression de fonction est déduite de la liaison de nom :
var foo = function() {};
console.log(foo.name); // foo
Les fonctions fléchées ont le même comportement :
var foo = () => {};
console.log(foo.name); // foo
Comme cela n'a pas été normalisé avant ES 2015/ES 6, babel doit ajouter le nom pour créer un fichier nommée expression de la fonction :
var foo = function foo() {}; // notice it's function *foo* now
pour prendre en charge les environnements existants.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.