我遇到了新的 Array.of()已经在 ES6 中完成的方法,我想知道什么时候可以使用:
var a = Array.of('foo', 'bar');
结束:
var b = ['foo', 'bar'],
c = new Array('foo', 'bar');
最佳答案
用一个数字实例化一个数组会创建一个有那么多槽的数组。
new Array(2);
> [undefined x 2]
使用 Array.of
实例化创建一个包含这些元素的数组。
Array.of(2)
> [2]
Array.of
的要点是解决您想要传递稍后构造的类型的问题,在数组的特殊情况下,当它接收单个参数时会出现问题。例如:
function build(myItem, arg){
return new myItem(arg);
}
这会给出:
console.log(build(Array, 2));
> [undefined x 2]
// ??? Can't pass the literal definition:
//console.log(build([, 1))
console.log(build(Array.of, 2));
> [2]
或者使用更多的 ES6 作为例子:
var params = [2,3];
console.log(new Array(...params));
// [2,3]
console.log(new Array.of(...params));
// [2,3]
params = [2];
console.log(new Array(...params));
// [undefined x2]
console.log(new Array.of(...params));
// [2]
Array.of
始终如您所愿。
关于javascript - Javascript (ES6) Array.of() 的用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31686360/