函数休息参数抛出错误

时间:2016-08-15 10:30:10

标签: javascript node.js function parameters

运行:

$> node restparamstest.js

其中:

restparamstest.js

var addTestNotification = function(x, ...theArgs) {
theArgs.forEach(function (post) {
    console.log(post);
});
};
addTestNotification(1, 2, 4);

抛出:

(function (exports, require, module, __filename, __dirname) { var addTestNotification = function(x, ...theArgs) {
                                                                                                    ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3
节点版本上的

console.log(process.versions);
{ http_parser: '2.5.2',
  node: '4.4.7',
  v8: '4.5.103.36',

任何想法?谢谢!

2 个答案:

答案 0 :(得分:2)

仅在节点6.31之后完全支持休息参数。如果要将它们与早期版本的节点一起使用,则应使用--harmony标志。

您可以按节点版本here查看ES2015支持。

答案 1 :(得分:2)

试试这个

node --harmony restparamstest.js