web-dev-qa-db-ja.com

矢印関数「式が必要」の構文エラー

このコードを変換したい:

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

匿名の矢印関数に。私はこれを書いた:

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

矢印でexpression expected構文エラーが表示されます。 ここのデフォルト構文 を調べたところ、コードの構文は正しいようです。問題が何であるか考えていますか?

私はこの構文で動作しています:

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

しかし、私はそれを矢印機能を備えたワンライナーにしたい。

node v5.3.0で実行しています

50
Milkncookiez

Node.jsプログラムの編集中に、Webstormによってエラーexpression expectedが報告されました。この場合の解決策は、言語バージョンをこの機能をサポートするバージョンに設定することです。

enter image description here

117
Joe23

以下は、私がそれを私のためにしたことです。 (1)@ Joe23によって選択された回答に表示されるように、JavaScript言語オプションをECMAScript 6に変更します

(2)Webstormプロジェクト/アプリケーションを閉じます。

(3)プロジェクトフォルダーに移動し、その中の。ideaフォルダーを削除します。これは、プロジェクト/アプリケーションに関する情報を保持するために生成されたwebstormフォルダーだと思います。

(4)webstormでプロジェクトを再開すると、エラーはなくなりました。

14

構文は正しく、Nodejsは矢印関数をサポートしていますが、デフォルトでは有効になっていません。

ノードプロセスを有効にするには、ノードプロセスを開始するときに「--harmony」フラグを追加する必要があります。

0
sitifensys