我在for循环中使用let关键字给出了SyntaxError:意外的标识符

时间:2015-10-22 03:51:19

标签: node.js ecmascript-6

我在for循环中使用let关键字,如下所示

for(let methd1 in servUrl){
    let methd=methd1;
    for(let pth1 in servUrl[methd]) {
        let pth=pth1;
        app[methd](pth, servUrl[methd][pth]);
    }
}

给了我以下错误

for(let methd1 in servUrl){
        ^^^^^^
SyntaxError: Unexpected identifier

3 个答案:

答案 0 :(得分:8)

如果您使用支持的节点版本,请确定。

要了解节点版本,您可以运行以下命令:

$ node --version
v4.2.1

节点旧版本不支持let语法或EcmaScript6所有功能。

我也遇到了类似的问题,并将我的节点升级到最新解决了我的问题。

要升级节点,您可以运行以下命令:

$ sudo npm cache clean -f
$ sudo npm install -g n
$ sudo n stable

答案 1 :(得分:2)

您可能还需要将节点二进制文件与更新后的二进制文件进行simlink。这对我有用:

sudo ln -sf /usr/local/n/versions/node/5.0.0/bin/node /usr/bin/node 

答案 2 :(得分:1)

我在anther范围内使用了let关键字,但获得了相同的语法错误消息。

问题是我使用的是旧版Chrome(38),我更新到版本54,现在可以使用了。 "让"旧版本无法识别关键字。