当我在Chrome中运行以下代码段时,它运行得非常完美:
(({foo}={}) => {console.log(foo);})({foo: 'baz'});
// logs "baz"
但是,如果我在Node中运行相同的代码片段,我会得到:
ReferenceError:赋值中的左侧无效
...尽管我使用默认和解构和声参数运行Node:
nodejs --harmony --harmony_destructuring --harmony_default_parameters
所以,我的问题是,Node需要处理这个神奇的咒语(完全有效,据我所知)ES6声明?
答案 0 :(得分:0)
正如@dvlsg建议的那样,这只是这些Node功能的实验性实现中的一个错误。
然而,正如@estus建议的那样,并且正如Node开发人员自己here所指出的那样,即将发布的新版本的Node不仅会解决这个问题,而且还会解决大部分问题。 ES6功能直接进入Node(即不再有node --harmony_whatever
)。