📅  最后修改于: 2023-12-03 15:37:50.207000             🧑  作者: Mango
在 JavaScript 中,我们可以使用两种方式来声明一个数组:使用 Array()
构造函数和使用 []
字面量。
使用 Array()
构造函数创建数组时,我们可以向构造函数传递一个或多个参数,这些参数将成为数组的元素。如果只传递一个参数,则该参数指定数组的长度。
let arr = new Array();
let arr = new Array(n);
let arr = new Array("apple", "orange", "banana");
使用 []
字面量创建数组时,我们不需要传递任何参数。这种方式的语法更加简洁,而且在某些情况下比使用 Array()
构造函数更方便。
let arr = [];
let arr = ["apple", "orange", "banana"];
在大多数情况下,使用 Array()
构造函数和使用 []
字面量是等价的。然而,在以下情况下,它们之间存在了一些细微的区别:
Array()
构造函数创建数组时,如果只传递一个参数且该参数是数字,则该参数将成为数组的长度。let arr = new Array(3);
console.log(arr); // [undefined, undefined, undefined]
在上面的示例中,我们使用 Array()
构造函数创建了一个包含 3 个元素的数组。由于我们只传递了一个参数且该参数是数字,因此该数字被解释为数组的长度。
[]
字面量创建数组时,如果使用逗号分隔元素,则逗号后面的元素为 undefined
。let arr = [1, , 3];
console.log(arr); // [1, undefined, 3]
在上面的示例中,我们使用 []
字面量创建了一个包含 3 个元素的数组。在第二个元素后面使用了逗号,因此第二个元素为 undefined
。
总的来说,使用 []
字面量创建数组更加简洁,但如果需要传递多个参数或者传递一个数字作为数组的长度,则使用 Array()
构造函数会更加方便。