“或”运算符后需要的括号

时间:2018-08-29 12:24:20

标签: javascript

为什么要在以下代码中添加括号才能使其正常工作?

let test = 0 || () => {};
console.log(test);

let test = 0 || (() => {});
console.log(test);

1 个答案:

答案 0 :(得分:0)

为了允许使用单个裸参数(a => a + 1),JavaScript语法降低了箭头函数表达式的优先级。

在这种情况下,解析器尝试将0 || ()解释为箭头函数的参数。这显然是不可能的,因此解析失败并出现语法错误。