【es6】三元表达式


表达式 (expr1) ? (expr2) : (expr3)
在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
 
============
 
普通用法

当你发现你经常用if else

代码如下:
 
if(拜春哥 || 拜考试帝){
  不挂科;
}else{
  门门挂;
}
 
那么三元的表示法就是
 
代码如下:
 
拜春哥 || 拜考试帝 ? 不挂科 : 门门挂
 
日常中经常会有这样的 if else 判断,特别是嵌套比较多的时候 用三元是比较和谐的,可以让你的代码看起来更加清爽,结构清晰。
 
通过不断的变化,可以衍生出很多三元的用法。如下一段jquery代码
 
 
flag ? $('body').addClass('hover') : $('body').removeClass('hover') ;
 
$('.item')[ flag ? 'addClass' : 'removeClass']('hover') 看着比较困惑。因为当flag = true 的时候 ,代码就变成以下代码:

$('.item')['addClass']('hover')

 这样写法等同于

 $('.item').addClass('hover')

 

再升华一下
 
可以根据需要来调用自己想要的function来处理更多的事情。

代码如下:

function a(){
do something
}
function b(){
do something
}
 
flag ? a() : b();
 
尽量避免的情况
true ? 'true' : false ? 't' : 'f' 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM