.table-row {
display: table;
width: 100%;
}
根据Babel(以及我可以告诉TC39的初步建议),这是“无效的”,因为箭头函数应该使用其父作用域作为参数。我能找到的唯一信息与此相矛盾的是一条评论说这被TC39拒绝,但我找不到任何支持这一点。
在这里寻找官方文档。
答案 0 :(得分:40)
Chrome,FF和节点在这里似乎有误,Babel是正确的:
箭头函数在其范围内没有自己的arguments
绑定;调用它们时不会创建参数对象。
在这里寻找官方文档
箭头函数表达式计算have their [[ThisMode]] set到lexical
的函数,当调用此函数时,declaration instantiation不会创建arguments
object。甚至还有一个特定的注释(18a)表明“箭头函数永远不会有参数对象。”。
答案 1 :(得分:32)
如Bergi所述,箭头函数没有自己的arguments
变量。
但是,如果你想捕获箭头功能的args,你只需使用rest parameter
const myFunc = (...args) =>
console.log ("arguments", args)
myFunc (1, 2, 3)
// arguments [1, 2, 3]

休息参数可以与其他位置参数组合,但必须始终作为 last 参数包含
const myFunc = (a, b, c, ...rest) =>
console.log (a, b, c, rest)
myFunc (1, 2, 3, 4, 5, 6, 7)
// 1 2 3 [ 4, 5, 6, 7 ]

如果你错误地在任何其他位置写一个rest参数,你会得到一个错误
const myFunc = (...rest, a, b, c) =>
console.log (a, b, c, rest)
myFunc (1, 2, 3, 4, 5, 6, 7)
// Error: Rest parameter must be last formal parameter