JavaScript Array vs new Array区别
规范说明
When Array is called as a function rather than as a constructor, it creates and initialises a new Array object. Thus the function call Array(…) is equivalent to the object creation expression new Array(…) with the same arguments.
当数组作为函数调用而不是构造函数调用时,它会创建并初始化一个新的数组对象。因此当Array(...)和new Array(...)接收同样的参数时,它们是相同的。
调用构造函数Array创建数组的方法
a 无参数 var a = new Array(); => []空数组; b 一个数值参数 var a = new Array(5); => [undefined*5]稀疏数组; c 两个或多个数组元素或者一个非数值元素 var a = new Array('2ab'); var a = new Array(2, 'a', 'b'); => ['2ab']和[2, 'a', 'b'];
ES6中新增方法Array.of(), 将所有传入参数作为新建数组的元素,即使传入单个数值元素,Array.of(5) => [5];