2016-02-22 4 views
42

私はこのコードを変換したい:匿名矢印関数にアロー機能「という表現予想」構文エラー

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構文エラーを取得します。私はthe default syntax hereを見て、私のコードの構文が正しいと思われます。どのような問題が起こっているのでしょうか?

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

が、私は矢機能と、それをワンライナーを作りたい:

私はそれがこの構文で働いています。 node v5.3.0

+1

コンソールのログ出力(console.log(res.transactions); – Jai

+1

)あなたはどの環境で実行していますか? 'node.js'の@nilsの – nils

+0

です。私はOPタグを更新しました。 – Milkncookiez

答えて

95

Node.jsプログラムの編集時にexpression expectedWebstormと報告されました。この場合、解決方法は言語バージョンをこの機能をサポートするバージョンに設定することです。

enter image description here

+12

ECMAScript 6に変更されましたが、 'var texts = entity.name.split(" ").filter(s => s);'(文字列を分割し空の結果を避ける)。どのようにそれを解決するための任意のアイデア? – Itai

+0

私はこの問題を抱えていて、その言語バージョンの設定をES6から別のものに切り替えてからもう一度やり直す必要があります。本当に迷惑です。 – greg

+0

これは私のnodejプロジェクトのPHPStormでも働いていました。既に指摘したように、この設定はJavaScriptの設定です(Javascriptではnodejではありません)。 –

0

あなたの構文が正しいとNodejsは矢印の機能をサポートしていますが、あなたはそれがデフォルトで有効になっていない上で実行

ノードプロセスを起動して有効にするときは、 "--harmony"フラグを追加する必要があります。

+1

なぜdownvoteしてください? – sitifensys

+0

矢印機能[デフォルトで有効](https://nodejs.org/en/docs/es6/#which-features-ship-with-node-js-by-default-no-runtime-flag-required) – McMath

+1

https://nodejs.org/ja/docs/es6/#which-features-ship-with-node-js-by-default-no-runtime-flag-requiredによれば、矢印関数は実行時フラグを必要としません。 :) – Milkncookiez

11

以下は、私は私のためにその仕事をやったことです。 (1)JavaScript言語オプションをECMAScript 6に変更しました。@ Joe23

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

(3)プロジェクトフォルダに移動し、.ideaフォルダを削除します。私はこれがプロジェクト/アプリケーションに関する情報を保存するために生成されたフォルダのWebstormだと考えています。

(4)Webstormでプロジェクトを再開してもエラーはなくなりました。

+1

私はこれを試して、追加の側面を見つけました。新しいプロジェクトにのみ影響するため、ファイル>デフォルト設定でこれを調整しないでください。代わりに、Webstorm>環境設定>言語とフレームワーク - > Javascriptで変更する必要があります。そして、Applyを押すことを忘れないでください!このような迷惑な、無意味で無意味なエラー(WebStormは、6.0が存在し、その構文が一般的な理由でECMAScript 5.1をデフォルトとして使用するのはなぜですか?)は、Visual StudioやC#に頻繁に戻る理由ですどの開発者も、最も有名なIDEと言語に賛成すると言います。 – user3685427

関連する問題