javascript拷贝数组疑问?

let array = new Array(...arr)拷贝数组,nums=[1]时,生成的新数组为空,为什么?
image.png
new Array(...arr)和[...arr]有什么区别呢

阅读 1.7k
3 个回答

new Array(...arr) 相当于 new Array(arrayLength)
[...arr]就是解构赋值
image.png

首先 new Array(...arr) 中的 arr 只有一个元素,当进行扩展时相当于 new Array(1),
此时相当于创建长度为 1 的空数组,当 new Array(1,2,...) 等多参数时才会作为新数组的元素填充。

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题