Array.prototype.slice.call(arguments)和[...args]都可以将类数组对象转换为数组,但它们之间有一些区别。下面是它们的区别以及包含代码示例的解决方法:
示例代码:
function example() {
var args = Array.prototype.slice.call(arguments);
console.log(args);
}
example(1, 2, 3); // 输出:[1, 2, 3]
示例代码:
const example = (...args) => {
console.log(args);
}
example(1, 2, 3); // 输出:[1, 2, 3]
需要注意的是,箭头函数中的展开运算符只能用于参数列表中,而不是在函数体内。如果你想在函数体内将类数组对象转换为数组,你仍然可以使用Array.prototype.slice.call(arguments)方法。