最近在读《ES6标准入门》这本书,无意间看到下面这段代码:
// Array.of()方法可以用下面的代码模拟实现。
function ArrayOf(){
return [].slice.call(arguments);
}
不太理解这段代码的原理,于是觉得弄清楚到底是怎么做到的
首先弄清楚slice方法
slice() 方法返回一个新的数组对象,一个由 begin 和 end 决定的原数组的浅拷贝
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]
可能我对于slice方法只理解到了这一层,所以我不明白上面代码为什么能实现
于是,在MDN上,我找到了下面的内容
看到这里谜团也就解开了,