不能使用`throw` after或(||)运算符

FLC*_*FLC 2 javascript

我在一般的互联网搜索中找不到,也没有通过阅读手册找到为什么无法使用此代码:

let a;
a || throw Error(`'a' is undefined or falsy`);
Run Code Online (Sandbox Code Playgroud)

我得到SyntaxError: Unexpected token throw.

有谁知道为什么不可能用这种方式来编码抛出?

JLR*_*she 6

throw关键字表示抛出声明,这意味着它必须是一个陈述本身.

||操作符左侧和右侧部分只能是表达式而不是语句.

请参阅语句语义的ECMAScript语法部分