📜  array.of (1)

📅  最后修改于: 2023-12-03 15:29:28.363000             🧑  作者: Mango

Array.of

Array.of 是一个在 ECMAScript 6 中被添加到 JavaScript 语言的静态方法。它用于创建一个新的、由任意数量的参数组成的数组。

语法
Array.of(element0[, element1[, ...[, elementN]]]);
  • element0, element1 ... elementN:任意数量的元素,用来创建数组。
返回值

返回一个新的数组对象,由传入的参数组成。

使用示例
示例 1
const arr = Array.of(1, 2, 3, 4, 5);
console.log(arr); // [1, 2, 3, 4, 5]
示例 2
const arr = Array.of(1);
console.log(arr); // [1]
示例 3
const arr = Array.of("hello", true, 3);
console.log(arr); // ["hello", true, 3]
示例 4
const arr = Array.of();
console.log(arr); // []
对比与不足

Array.of 方法与 Array() 构造函数的行为是不同的。

与 Array 构造函数的对比

Array.of 方法与 Array() 构造函数之间的区别在于,Array() 利用传参的数量和类型的不同来创建不同的数组。当没有参数传递时,它会创建一个空数组。

const arr1 = Array(1, 2, 3);
console.log(arr1); // [1, 2, 3]

const arr2 = Array(3);
console.log(arr2); // [undefined, undefined, undefined]

const arr3 = Array();
console.log(arr3); // []

相比之下,Array.of 方法在没有参数传递时,仍然会创建一个空数组,而不是返回由一个未定义的元素组成的数组。这就是 Array.of 更好的选择之一。

不足

不幸的是,Array.of 并不是所有浏览器都支持。不过它可以通过使用 polyfill 来解决这个问题。

总结

Array.of 是一个在 ECMAScript 6 中新添加的方法,用于创建由任意数量参数组成的数组。它可以替代 Array() 构造函数,因为后者在没有参数传递时表现不一致。

虽然 Array.of 的兼容性并不完美,但通过 polyfill 可以很方便地在不支持它的浏览器中使用。