web-dev-qa-db-fra.com

Fonction de flèche "expression attendue" erreur de syntaxe

Je veux transformer ce code:

var formatQuoteAmount = function (tx) {
    return Currency.toSmallestSubunit(tx.usd, 'USD');
};
var quoteAmounts = res.transactions.map(formatQuoteAmount);

dans une fonction de flèche anonyme. J'ai écrit ceci:

var quoteAmounts = res.transactions.map(tx => Currency.toSmallestSubunit(tx.usd, 'USD'));

Je reçois une erreur de syntaxe expression expected à la flèche. J'ai cherché la syntaxe par défaut ici et semble que la syntaxe de mon code est correcte. Des idées ce que le problème pourrait être?

Je l'ai avec cette syntaxe:

    var quoteAmounts = res.transactions.map(function (tx) {
        return Currency.toSmallestSubunit(tx.usd, 'USD')
    });

mais je veux en faire un one-liner, avec une fonction de flèche.

En cours d'exécution sur node v5.3.0

47
Milkncookiez

J'ai eu l'erreur expression expected signalée par Webstorm lors de l'édition d'un programme Node.js. Dans ce cas, la solution consiste à définir la version linguistique sur une version prenant en charge cette fonctionnalité.

 enter image description here

115
Joe23

Ce qui suit est ce que j’ai fait fonctionner pour moi . (1) Je change l’option de langage JavaScript en ECMAScript 6 comme indiqué dans la réponse sélectionnée par @ Joe23

(2) Je ferme le projet/l'application Webstorm.

(3) Accédez au dossier du projet et supprimez le dossier .idea . Je crois que c'est le dossier webstorm généré pour conserver des informations sur le projet/l'application.

(4) Je rouvre mon projet dans webstorm et les erreurs ont disparu.

14

Votre syntaxe est correcte et Nodejs prend en charge les fonctions de flèche, mais vous ne l’activez pas par défaut.

Vous devez ajouter le drapeau "--harmony" lorsque vous démarrez le processus de noeud pour l'activer.

0
sitifensys