Con*_*ror 59 javascript lambda arguments anonymous-function ecmascript-6
function foo(x) {
console.log(arguments)
} //foo(1) prints [1]
Run Code Online (Sandbox Code Playgroud)
但
var bar = x => console.log(arguments)
Run Code Online (Sandbox Code Playgroud)
以相同方式调用时出现以下错误:
Uncaught ReferenceError: arguments is not defined
Run Code Online (Sandbox Code Playgroud)
Syl*_*ter 108
箭头函数没有这个,因为arguments
类似数组的对象是一个开始的解决方法,ES6已经使用rest参数解决了这个问题:
var bar = (...arguments) => console.log(arguments);
Run Code Online (Sandbox Code Playgroud)
rest
这里绝不是保留,而是选择了.你可以随意调用它,它可以与正常参数结合使用:
var test = (one, two, ...rest) => [one, two, rest];
Run Code Online (Sandbox Code Playgroud)
你甚至可以走另一条路,这个花哨的申请说明:
var fapply = (fun, args) => fun(...args);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17108 次 |
最近记录: |