Array.of() 方法創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組實例谒府,而不考慮參數(shù)的數(shù)量或類型缕坎。
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) 創(chuàng)建一個具有單個元素 3 的數(shù)組频敛,而 Array(3) 創(chuàng)建一個長度為3的空數(shù)組(注意:這是指一個有3個空位的數(shù)組,而不是由3個undefined組成的數(shù)組,空位有自己的位置,但是這個位置的值是未定義蜂厅,即這個值是不存在的愉择。如果一定要讀取劫乱,結(jié)果就是undefined织中,因為undefined在JavaScript語言中表示不存在)。
Array.of()可以彌補(bǔ)數(shù)組構(gòu)造函數(shù)Array()的不足衷戈,基本上可以用來替代Array()或new Array()狭吼,并且不存在由于參數(shù)不同而導(dǎo)致的重載。它的行為非常統(tǒng)一
3.Array.of()的同等實現(xiàn)
function ArrayOf(){
return [].slice.call(arguments);
}
if (!Array.of) {
Array.of = function() {
return Array.prototype.slice.call(arguments);
};
}