javascript - JS 数组解构 - 它是如何给出这个输出的?

标签 javascript ecmascript-6 destructuring

代码的输出:

const arr = [1, 2, 3, 4, 5];
console.log([...arr + []]);

给出

​​​​​[ '1', ',', '2', ',', '3', ',', '4', ',', '5' ]​​​​​

我知道 ...arr 会返回数组项(如 1 2 3 4 5),而 number + [] 给出字符串,但我真的很困惑为什么, 已添加到输出数组中。

是不是因为console.log()中的...arr 结果是 [..."1, 2, 3, 4, 5"+ []] 其中输出是相同的?

或者是我不知道的一些神奇的解释?

最佳答案

Here是对应用于数组的 + 运算符的解释。那么发生的事情是这样的:

  1. arr + [] 为您提供一个字符串 "1,2,3,4,5"
  2. 然后将该字符串扩展/拆分(使用扩展语法)到该字符串的字符数组中。

关于javascript - JS 数组解构 - 它是如何给出这个输出的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53881150/

相关文章:

javascript - 添加 id :s for objs in arr. R.assoc ('id' , i++) 不递增 i

javascript - JQuery 单击跨度中的文本?

javascript - 部署到 Heroku 期间出现扩展运算符语法错误

javascript - Parseint——用 e+ chop

javascript - 如何在声明无法更改的函数中将对象作为单个参数传播?

javascript - Node.JS 中的解构

javascript - 可以使用解构赋值来影响 CoffeeScript 中的投影吗?

javascript - 使用一个 JavaScript 循环将单选按钮值与对象进行比较

javascript - 你如何改变从同一个类中渲染的 jsx block ?

javascript - JQuery-将元素的当前 html 附加到元素的新子元素