6
​var truth = true;
(truth) ? console.log('It is true') : throw new Error('It is not true');​​​​​​​​​​​​​​​

三元运算符是否只接受特定类型的对象?

4

3 回答 3

18

javascript区分语句和表达式。三元运算符只处理表达式;throw 是一个声明。

于 2012-11-21T22:29:26.223 回答
5

它确实有效,但问题是你的“else”分支中的 throw 语句。

采用

(truth) ? console.log('It is true') : (function(){throw 'It is not true'}());
于 2012-11-21T22:43:20.210 回答
2

与所有其他运算符一样,条件运算符只能与表达式一起使用。

throw x;是一个语句,而不是一个表达式。

于 2012-11-21T22:29:44.010 回答