Javascript 为什么此扩展运算符会在节点7.8.0中导致SyntaxError:意外令牌?

Javascript 为什么此扩展运算符会在节点7.8.0中导致SyntaxError:意外令牌?,javascript,node.js,Javascript,Node.js,首先是代码片段,我马上将对其进行解构 this.argArr=[['arg1','arg2'],['foo','bar'],['you get','the point']; this.evalArgsFromArr=函数(){ var out=[]; 对于(var\u0;\u0

首先是代码片段,我马上将对其进行解构

this.argArr=[['arg1','arg2'],['foo','bar'],['you get','the point'];
this.evalArgsFromArr=函数(){
var out=[];
对于(var\u0;\u0您必须删除“…”,请尝试:

this.argArr=[['arg1','arg2'],['foo','bar'],['you get','the point'];
this.evalArgsFromArr=函数(){
var out=[];
对于(var\u0;\u0
您必须删除“…”,请尝试:

this.argArr=[['arg1','arg2'],['foo','bar'],['you get','the point'];
this.evalArgsFromArr=函数(){
var out=[];
对于(var\u0;\u0
我认为这是对使用下划线作为变量名的惩罚。但说真的,看看您的代码,它似乎应该可以工作,但前提是您的节点解释器足够新,能够支持它

要查看节点版本中对spread运算符的支持,请参阅:

要在本机不支持的平台上使用现代语法,请使用Babel:

当然,我们无法真正测试它,因为您没有提供可运行的示例

但你可以看到这个答案:

看看你能不能在那里运行这个例子。它使用spread运算符,并测试其是否正常工作。如果它在您的系统上运行,那么您应该能够使用spread操作符。若并没有,那个么您应该真正升级节点,因为并没有理由使用这样一个过时的版本

如果所有其他方法都失败,那么您应该始终能够更改:

someFunction(...array);
致:

见文件:


顺便说一句,我不知道你说的一行“喜欢崩溃”是什么意思——它不总是崩溃吗?这会很奇怪。

我认为这是对使用下划线作为变量名的惩罚。但说真的,看看您的代码,它似乎应该可以工作,但前提是您的节点解释器足够新,能够支持它

要查看节点版本中对spread运算符的支持,请参阅:

要在本机不支持的平台上使用现代语法,请使用Babel:

当然,我们无法真正测试它,因为您没有提供可运行的示例

但你可以看到这个答案:

看看你能不能在那里运行这个例子。它使用spread运算符,并测试其是否正常工作。如果它在您的系统上运行,那么您应该能够使用spread操作符。若并没有,那个么您应该真正升级节点,因为并没有理由使用这样一个过时的版本

如果所有其他方法都失败,那么您应该始终能够更改:

someFunction(...array);
致:

见文件:


顺便说一句,我不知道你说的一行“喜欢崩溃”是什么意思——它不总是崩溃吗?这会很奇怪。

你能提供一个可运行的示例吗?你有什么版本的node.js?@Jessy语法错误,如意外的令牌,不会崩溃。这是在程序开始运行之前检测到的解析错误。崩溃是指程序编译/解析正常,但在执行过程中执行了引擎未发现的非法操作(例如,尝试访问null上的属性)。我将对你的帖子进行相应的编辑,以使帖子与未来的访问者保持相关性。第二,我运行这个没有问题,所以我无法重现这个问题——可能只是一个过时的节点版本。你能提供一个可运行的示例吗?你有什么版本的Node.js?@Jessy语法错误,如意外的令牌,不会崩溃。这是在程序开始运行之前检测到的解析错误。崩溃是指程序编译/解析正常,但在执行过程中执行了引擎未发现的非法操作(例如,尝试访问null上的属性)。我将对你的帖子进行相应的编辑,以使帖子与未来的访问者保持相关性。其次,我运行这个程序没有问题,所以我无法重现这个问题——可能只是一个过时的节点版本。在删除
..
的情况下,如何将数组元素放入单个函数参数中?我觉得说“您必须删除
..
”充其量是没有帮助的,最坏的情况是错误的。特别是在编写时,它将整个数组作为单个参数传递,而不是将其组件作为单个参数传递。这正是我首先使用扩展运算符的原因。在删除
的情况下,如何将数组元素放入单个函数参数中?我觉得说“您必须删除
”充其量是没有帮助的,最坏的情况是错误的。特别是在编写时,它将整个数组作为单个参数传递,而不是将其组件作为单个参数传递。这正是我首先使用spread操作符的原因。我正在运行Node 7.8.0,所以它应该可以工作。。。嗯。我有点想避免应用
,因为它往往会对代码产生一些非常严重的影响。@Papayaman1000和节点7.8.0应该可以工作。如果您提供了一个可运行的示例,那么某人可能会告诉您出了什么问题。您问题中的代码段无法运行以重现您的错误。除了整个文件的转储之外,我不确定要提供什么。这是否合适/有用?我正在运行Node 7.8.0,因此它应该可以工作。。。嗯。我有点想避免应用
,因为它往往会对代码产生一些非常严重的影响。@Papayaman1000和节点7.8.0应该可以工作。如果你提供
someFunction.apply(undefined, array);