箭头函数“表达式预期”语法错误

时间:2016-02-22 09:49:06

标签: javascript node.js ecmascript-6 arrow-functions

我想转换这段代码:

false

进入匿名箭头功能。我写了这个:

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')); 语法错误。我查了the default syntax here,看起来我的代码的语法是正确的。任何想法可能是什么问题?

我使用这种语法:

expression expected

但是我想把它变成一个单行,带箭头功能。

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

上运行

3 个答案:

答案 0 :(得分:117)

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

enter image description here

答案 1 :(得分:14)

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

所选答案中所示

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

(3)导航到项目文件夹并删除其中的 .idea 文件夹。我相信这是为保存项目/应用程序信息而生成的文件夹webstorm。

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

答案 2 :(得分:0)

您的语法是正确的,Nodejs支持箭头功能,但默认情况下它没有启用。

启动节点进程以启用它时,应添加“--harmony”标志。