Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
1.Array.of()
例如🌰:
Array.of()
// []
Array.of(7);
// [7]
Array.of(1, 2, 3);
// [1, 2, 3]
2.Array.of()与Array()
Array()
// []
Array(3)
// [, , ,]
// [empty × 3]
Array(3, 11, 8) // [3, 11, 8]
Array.of(3) 创建一个具有单个元素 3 的数组,而 Array(3) 创建一个长度为3的空数组(注意:这是指一个有3个空位的数组,而不是由3个undefined组成的数组,空位有自己的位置,但是这个位置的值是未定义,即这个值是不存在的。如果一定要读取,结果就是undefined,因为undefined在JavaScript语言中表示不存在)。
Array.of()可以弥补数组构造函数Array()的不足,基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一
3.Array.of()的同等实现
function ArrayOf(){
return [].slice.call(arguments);
}
if (!Array.of) {
Array.of = function() {
return Array.prototype.slice.call(arguments);
};
}