Javascript - 为什么这个表达式无效?

Ben*_*Ben 1 javascript

为什么以下表达式在JavaScript中无效?

(function(){ return foo ? foo : throw "foo not set"; }())
Run Code Online (Sandbox Code Playgroud)

是因为throw关键字的定位有限制吗?

Ben*_*ons 6

这个问题已在这里得到解答:

JavaScript错误处理:我可以在三元运算符中抛出错误吗?

throw 是一个声明,它不能成为表达式的一部分.