箭头函数"expression expected"语法错误

Arrow function "expression expected" syntax error

我要改造这段代码:

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

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

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

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

所选答案中所示

(2) 我关闭 Webstorm project/application.

(3) 导航到项目文件夹并删除其中的.idea文件夹。我相信这是 webstorm 生成的文件夹,用于保存有关 project/application.

的信息

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