首页 > 建站教程 > JS、jQ、TS >  三目运算符判断超过两种情况正文

三目运算符判断超过两种情况

    三目运算符也称为三元运算符,它是if/switch语句的一种简化写法,常被用于替代if--else的判断,这里,利用它的嵌套,也可以用于超过三种判断。比如下面是我爱模板网在做一个智能控制APP时遇到的情况:有三个场景,每个场景对应的id不同,但都是固定的,需要根据ID来得到对应的场景名:

如果用if语句就是:
if(item.sceneCat === 1){
 item.sceneName = '情景模式'
}else if(item.sceneCat === 2){
 item.sceneName = '联动场景'
}else if(item.sceneCat === 3){
 item.sceneName = '定时场景'
}else{
 item.sceneName = '未知场景'
}
当然,用switch更简单:
switch(item.sceneCat){
 case 1:
 item.sceneName = '情景模式';
 break;
 case 2:
 item.sceneName = '联动场景';
 break;
 case 3:
 item.sceneName = '定时场景';
 break;
 default:
 item.sceneName = '未知场景';
 break;
}
那么,用三目运算符呢:
item.sceneName = item.sceneCat === 1 ? '情景模式' : (item.sceneCat === 2 ? '联动场景' : (item.sceneCat === 3 ? '定时场景' : '未知场景'));
一句话搞定,非常简单。当然,最好不要嵌套太多,不然就容易混淆了。