1 概念
条件运算符(?:
)允许把简单的if-else逻辑嵌入到单个表达式中,条件运算符的形式如下:
cond ? expr1 : expr2
运算顺序为:先求cond的值,如果条件为真对expr1求值并返回该值,否则对expr2求值并返回该值
条件运算符只计算两个表达式其中一个
2 嵌套条件运算符
finalgrade = (grade > 90) ? "high pass"
: (grade < 60) ? "fail" : "pass"
两个条件运算符嵌套使用,首先判断分数是否大于90,如果不成立,则运算分支2,分支2也是一个条件运算符,会进行分数是否大于60的判断,根据判断结果来选择输出
随着条件运算符嵌套层数增加,代码可读性急剧下降,因此嵌套不要超过两三层
3 输出表达式中的条件运算符
条件运算符的优先级非常低,使用条件运算符需要两边加上括号
条件运算符使用右结合律