DEV Community

打coding的奥特曼
打coding的奥特曼

Posted on • Edited on

如何解决箭头函数没有arguments

比如我们想要一个function,可以把传入的参数转成一个数组,传统方法代码如下

function turnArr(){
  return [].slice.apply(arguments)
}
console.log(turnArr(1,2,3))  // [1,2,3]
Enter fullscreen mode Exit fullscreen mode

但如果我们用箭头函数的形式改写的话,发现就报错了,
Alt Text
加个参数进去试试,还是报错
Alt Text

为啥不行?原因是箭头函数没有arguments这个类参数数组对象,那么如何解决呢?用剩余参数

const turnArr = (...arguments) => [].slice.apply(arguments)
console.log(turnArr(1,2,3)) //[1,2,3]
Enter fullscreen mode Exit fullscreen mode

成功解决了,但是再用这样的写法就啰嗦

const turnArr1 = (...args) => args;
console.log(turnArr1(1,2,3)); //[1,2,3]
Enter fullscreen mode Exit fullscreen mode

因为arguments是伪数组,而剩余参数确是货真价实的真数组.

Top comments (0)