56

我想转换这段代码:

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

4

3 回答 3

121

我在编辑 Node.js 程序时遇到了Webstormexpression expected报告的错误。在这种情况下,解决方案是将语言版本设置为支持此功能的版本。

在此处输入图像描述

于 2016-02-26T11:01:35.560 回答
15

以下是我为我所做的工作。(1) 我将 JavaScript 语言选项更改为 ECMAScript 6,如 @Joe23 选择的答案所示

(2) 我关闭了 Webstorm 项目/应用程序。

(3)导航到项目文件夹,删除里面的.idea文件夹。我相信这是 webstorm 生成的文件夹,用于保存有关项目/应用程序的信息。

(4) 我在 webstorm 中重新打开我的项目并且错误消失了。

于 2017-05-26T08:06:13.070 回答
-1

默认情况下,箭头函数在最新版本的节点和其他 javascript 运行时可用。只有在处理非常旧的运行时(如果我没记错的话,0.12 和更早版本)才需要启用对它们的支持,在这种情况下,您需要在启动节点进程时添加“--harmony”标志。

于 2016-02-22T10:04:56.700 回答