为什么“true &&()=> {}”产生“Uncaught SyntaxError:格式错误的箭头函数参数列表”? [重复]

问题描述 投票:3回答:3

以下代码执行时,

true && () => {}

产量

Uncaught SyntaxError: Malformed arrow function parameter list

为什么?

编辑:我知道在括号中包装函数,感谢大家,但我想了解为什么解析器首先无法找出它是一个函数。

javascript node.js logic logical-operators
3个回答
2
投票

原因是第一部分true || (a)被自己解析,然后解析器试图解析其余的=> {},这会导致错误。


0
投票

它正在解析true && ()作为参数列表。


-2
投票

因为箭头函数具有特殊的解析规则。请参阅解析订单段落中的official documentation

© www.soinside.com 2019 - 2024. All rights reserved.