以下代码适用于浏览器,但不适用于Node.js.为什么呢?
[a, b] = 'hey,there'.split(',');
console.log(a);
答案 0 :(得分:3)
ES6允许称为解构分配的东西。 (很好地解释了here。这里是草稿spec的链接。)这就是你在代码中得到的内容。
看起来它是Firefox早期采用的ES6功能。 (也许太早了)。不幸的是,这与JavaScript运行时的课程相同。他们中的许多人提前访问即将推出的规格中的功能。你必须保持眼睛去皮,以确保你没有使用尚未正式采用的东西。
答案 1 :(得分:3)
您的代码在ECMAscript 6中被考虑。这称为数组解构。你可以在这里看到它的功能 https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7
您的代码将在当前版本的Firefox(28)上运行,但不会在Google Chrome上运行(33) 您可以从此站点检查浏览器的兼容性 http://kangax.github.io/es5-compat-table/es6/
如果您想在Google-chrome中运行它,则会在chrome:// flags ==>中显示名为Enable Experimental JavaScript的标记。 make this flag = true然后你可以运行它
NodeJs支持ECMASript 6,但您将使用以下命令运行它
节点 - 和谐yourapp.js