使用ES6语法在Node 5.9中进行变量交换的正确方法是什么?

时间:2016-03-22 16:07:34

标签: node.js ecmascript-6

加载--harmony_destructuring的节点5.9允许ES6启用的大部分酷解构乐趣。但是,this blog post似乎表明我应该能够以下列方式进行变量交换:

var [a,b] = [0,1];
[b,a] = [a,b]; //swaps the values of a and b

然而,这在Node中失败并出现invalid left-hand assignment错误。相反,我必须再次重新定义变量:

var [a,b] = [0,1];
var [b,a] = [a,b];

博客文章有缺陷吗?这只是Node中ES6的实现细节吗?

1 个答案:

答案 0 :(得分:1)

博客文章撰稿人。

Babel compiles your code根据文章的描述,进入以下内容。

"use strict";

var a = 0;
var b = 1;
//swaps the values of a and b
var _ref = [a, b];
b = _ref[0];
a = _ref[1];
_ref;

您可以使用babel-node在行为不正常或缺少一个或两个ES6功能的Node版本中获得此行为。