1、在编写程序的时候,可能为了缩短所占代码的空间,常用一些三元表达式来代替简单的 if 判断。在翻阅资料后,总结一下三元表达式的一些常用技巧:
1、表达式 (expr1) ? (expr2) : (expr3);
解释: (expr1)是否成立,
为true执行(expr2) ,
为false执行(expr3)。
2、如何把if 判断转为三元表达式
if(aa==bb){
cc=1
}else{
cc=2
}
转换
(aa==bb)? cc =1 : cc=2
2、比较容易出错的地方
三元运算比较容易出错的应该就是运算的优先级问题:
var isMember = false;
console.log("当前费用" + isMember ? "$2.00" : "$10.00"); //返回$2.00
出错的原因是?的运算优先级比+低,所以实际运行的语句是:
"当前费用false" ? "$2.00" : "$10.00");
在js中字符串是为真的,所以会输出$2.00.
不过为了避免以上错误的话,可以记住:
不是false, 0, undefined, NaN, “” or null,js都认为是true;
所以如果有其他运算符的时候,适用于if else