三目运算符也称为三元运算符,它是if/switch语句的一种简化写法,常被用于替代if--else的判断,这里,利用它的嵌套,也可以用于超过三种判断。比如下面是我爱模板网在做一个智能控制APP时遇到的情况:有三个场景,每个场景对应的id不同,但都是固定的,需要根据ID来得到对应的场景名:
如果用if语句就是:
1 | if (item.sceneCat === 1){ |
2 | item.sceneName = '情景模式' |
3 | } else if (item.sceneCat === 2){ |
4 | item.sceneName = '联动场景' |
5 | } else if (item.sceneCat === 3){ |
6 | item.sceneName = '定时场景' |
8 | item.sceneName = '未知场景' |
当然,用switch更简单:
03 | item.sceneName = '情景模式' ; |
06 | item.sceneName = '联动场景' ; |
09 | item.sceneName = '定时场景' ; |
12 | item.sceneName = '未知场景' ; |
那么,用三目运算符呢:
1 | item.sceneName = item.sceneCat === 1 ? '情景模式' : (item.sceneCat === 2 ? '联动场景' : (item.sceneCat === 3 ? '定时场景' : '未知场景' )); |
一句话搞定,非常简单。当然,最好不要嵌套太多,不然就容易混淆了。