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

使用--harmony_destructuring加载的节点5.9允许ES6启用大部分的酷炫解构乐趣。 但是, 这个博客文章似乎表明,我应该能够以下列方式进行variables交换:

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

但是,在Node中, invalid left-hand assignment错误会失败。 相反,我必须重新定义variables:

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

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

博客文章作者在这里。

Babel根据本文所描述的内容编译你的代码 ,如下所示。

 "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来获得这种行为在节点行为不当或缺乏一个或两个ES6function的版本。