为什么我不能在代码中删除中间变量?

申尼克

我目前正在使用传播语法,遇到了意外问题。

下面的代码片段可以正常工作,并且不会引发任何错误:

const arr = [1, 2, 3, 4] // create array of numbers

const copy = [...arr] // make a shallow copy of the array
copy.forEach(n => { // loop through array
  console.log(n + 1);
});

但是,如果删除中间变量copy,我的代码似乎抛出错误:

const arr = [1, 2, 3, 4] // create array of numbers

[...arr].forEach(n => { // loop through array
  console.log(n + 1);
});

如您所见,以上代码片段引发了一个错误:

未捕获的SyntaxError:意外的令牌...

而第一个代码段则没有。为什么会这样呢?据我了解,我应该能够copy用包含但没有问题的文字数组替换(就像我在第二个片段中所做的那样)。

我希望第二个片段像第一个片段一样工作,并且不会抛出任何错误。

注意[...arr]在这种情况下,我知道这似乎是多余的,我只是使用它来演示我的问题。

杰克·巴什福德

添加分号,它可以完美地工作。

const arr = [1, 2, 3, 4];

[...arr].forEach(n => {
  console.log(n + 1);
});

代码是在没有换行符的情况下进行评估的,如下所示:

const arr = [1, 2, 3, 4][...arr]

导致您的错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我不能在代码中删除“ checkSelfPermission”?

为什么我不能在 JS 中删除全局变量?

为什么我不能在异步方法中调试代码?

为什么我不能在代码中输入设置?

为什么我的函数不能在 python 代码中执行?

为什么我不能在Word 2003中删除水印?

为什么我不能在JPA中删除该实体?

为什么我不能在定义中定义变量?

为什么我不能在变量中捕获FakeItEasy期望?

为什么我不能在班级中访问变量。Python

为什么我的代码为什么不能在getline(cin,* userInput)中接受空格?

为什么我不能在我的代码中使用“ balance ”?

为什么我不能在PHP函数中访问我的私有变量?

为什么我不能在 PHP 7 中访问我的会话变量?

为什么我不能在我的 HTML 中为 Typescript 设置全局电子变量?

为什么不能在init块编译中初始化变量接口属性的代码?

为什么不能在Ruby代码块中重新分配变量?

为什么我不能在批处理/ cmd 文件中的此代码中嵌套 if existing 语句

为什么我的 verilog 测试平台不能显示中间变量?

为什么我不能在方法之外调用变量?

为什么我不能在变量中转义小数?

为什么`cargo build`不能在我的代码中显示所有错误?

为什么我不能在代码中调用任何方法?

为什么我不能在pycharm中调试但执行代码odoo?

F#-为什么我不能在此代码中不使用管道运算符?

为什么我不能在 CudaFy 库的 c# 代码中设置断点?

为什么我不能在代码中确定某个对象属于DataTime类型?

为什么我的实时服务器不能在Visual Studio代码中工作?

为什么我不能在Xamarin的Assembly Browser中编辑源代码?