做工程师不做码农@JavaScript面试问题:函数式编程( 二 )


例如 , 我们可以这样写:functionfoo(){console.log(arguments);}foo(1,2,3,4,5);
然后console.log将向我们返回传递给foo的参数 , 即1、2、3、4和5 。
箭头函数没有绑定到arguments对象 , 所以我们不能把所有的参数都用这个对象传递给箭头函数 。
for...of循环也适用于arguments对象 , 因此我们可以如下遍历参数:functionfoo(){for(letargofarguments){console.log(arg);}}foo(1,2,3,4,5);
我们可以使用扩展运算符将参数转换为数组 。 例如 , 我们可以这样写:functionfoo(){console.log([...arguments]);}foo(1,2,3,4,5);
然后 , 我们输出了[1,2,3,4,5] 。 总结
JavaScript具有许多函数式编程功能 。 函数是一等对象 , 这意味着它们像其他任何对象一样被对待 。
它还具有古怪的 , 类似于数组的参数 , 以获取传递给传统函数的参数 。
如果对你有所启发和帮助 , 可以点个关注、收藏 , 也可以留言讨论 , 这是对作者的最大鼓励 。
作者简介:Web前端工程师 , 全栈开发工程师、持续学习者 。