为什么这个三元运算符在JS中无效

时间:2012-11-21 22:27:18

标签: javascript

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

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

3 个答案:

答案 0 :(得分:17)

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

答案 1 :(得分:4)

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

使用

(truth) ? console.log('It is true') : (function(){throw 'It is not true'}());

答案 2 :(得分:2)

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

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