gpt4 book ai didi

javascript - 为什么这个扩展运算符会导致 SyntaxError : Unexpected token in Node 7. 8.0?

转载 作者:行者123 更新时间:2023-11-30 11:38:20 41 4
gpt4 key购买 nike

先是代码片段,稍后我会解构它。

this.argArr = [['arg1', 'arg2'], ['foo', 'bar'], ['you get ', 'the point']];

this.evalArgsFromArr = function () {
var out = [];
for (var _ = 0; _ < parent.argArr.length; _++) {
out.push(someFunction(...parent.argArr[_])); // This part crashes
}
return out;
};

当然,这个函数是对象的一部分。

想法是,parent.argArr 中的每个项目都应该是一个数组,包含 someFunction() 的两个参数,这也可以方便地用作人类可读的输出的冷凝。我的理解是,用于可迭代对象(例如存储在 parent.argArr 中的数组),展开运算符分别输出每个单独的值。 (例如,for 循环的第一次运行应该输出 someFunction('arg1', 'arg2')。)

每当我在 Node.js 或 PHP 中运行包含此文件的文件时,我都会收到 SyntaxError: Unexpected token,引用扩展运算符 [...]。

这是错误信息,如果它有帮助的话: Error Message

我正在使用 Node 7.8.0。

最佳答案

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

要查看 Node 版本对扩展运算符的支持,请参阅:

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

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

但是你可以看到这个答案:

看看你是否可以在那里运行这个例子。它使用扩展运算符,如果经过测试可以正常工作。如果它在您的系统上运行,那么您应该能够使用传播运算符。如果没有,那么您真的应该升级 Node,因为没有理由使用这样一个过时的版本。

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

someFunction(...array);

到:

someFunction.apply(undefined, array);

查看文档:

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

关于javascript - 为什么这个扩展运算符会导致 SyntaxError : Unexpected token in Node 7. 8.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588098/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com