我无法在一般的互联网搜索中找到,也无法通过阅读manual为什么无法使用此代码:
let a;
a || throw Error(`'a' is undefined or falsy`);
我得到SyntaxError: Unexpected token throw
。
有谁知道为什么不能用这种方式来编码一个抛出?
答案 0 :(得分:6)
答案 1 :(得分:2)
像a || b
这样的代码是一个表达式;它的代码最终会评估为一个值。
在当今的JavaScript中,throw
是语句;可能有副作用但没有值的代码。这可能会在未来发生变化:cf。 https://github.com/tc39/proposal-throw-expressions。