Javascript 如何使用默认值来解构参数?

Javascript 如何使用默认值来解构参数?,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,当我在Chrome中运行以下代码段时,它运行得非常完美: (({foo}={}) => {console.log(foo);})({foo: 'baz'}); // logs "baz" 但是,如果在节点中运行相同的代码段,则会得到: ReferenceError:赋值中的左侧无效 。。。尽管我在运行节点时同时使用了默认和声参数和解构和声参数: nodejs --harmony --harmony_destructuring --harmony_default_parameters

当我在Chrome中运行以下代码段时,它运行得非常完美:

(({foo}={}) => {console.log(foo);})({foo: 'baz'});
// logs "baz"
但是,如果在节点中运行相同的代码段,则会得到:

ReferenceError:赋值中的左侧无效

。。。尽管我在运行节点时同时使用了默认和声参数和解构和声参数:

nodejs --harmony  --harmony_destructuring --harmony_default_parameters

所以,我的问题是,Node需要什么魔法咒语来处理这个(据我所知,完全有效)ES6语句?

正如@dvlsg所建议的,这只是这些节点功能的实验实现中的一个bug


然而,正如@estus所建议的,并且正如节点开发人员自己所指出的,即将发布的Node新版本不仅解决了这个问题,还将把ES6的大部分功能直接转移到Node中(即不再是
Node——harmony\u where
)。

我不确定该功能是否正常(即使在harmony中)用于箭头功能。当使用非箭头函数语法--
(函数({foo}={}){console.log(foo);}({foo:'baz'}))时,它工作得很好。顺便说一句,我在node
v5.5.0
上。它在一个标志后面,默认情况下未启用,这是有原因的:中引入了PFull解构支持。预计它将并入节点6。