首先,Array(1)创建的是仅包含一个元素的数组;而[...Array(1)]则使用扩展运算符(...)将这个数组转换为一个包含一个元素的新数组。如果访问这两个数组的方法和属性时也会有不同的结果,例如:
const arr1 = Array(1); console.log(arr1.length); // 1 console.log(arr1[0]); // undefined
const arr2 = [...Array(1)]; console.log(arr2.length); // 1 console.log(arr2[0]); // undefined
在上面的代码中,我们可以看到访问长度属性的结果相同,但是由于原始数组的唯一元素是未定义的,所以尝试访问它们时也会得到相同的undefined结果。