为什么要在以下代码中添加括号才能使其正常工作?
let test = 0 || () => {};
console.log(test);
let test = 0 || (() => {});
console.log(test);
答案 0 :(得分:0)
为了允许使用单个裸参数(a => a + 1
),JavaScript语法降低了箭头函数表达式的优先级。
在这种情况下,解析器尝试将0 || ()
解释为箭头函数的参数。这显然是不可能的,因此解析失败并出现语法错误。