布尔型
a = []
a && a[0] //false
a && a[0] ? '非空数组处理1' : '空数组处理2' // 用作空数组的判断和处理
b = a[0] || 'ccc' //为空设置默认值进行兼容用 (|| 默认值)进行处理
'' == false // true
'a' && '' == false // true, 所以空字符传也是可以判断为false的
表达式
比较大小
字符串和数字比大小时:
如果可以转为有效数字,会转为数字再比:
'1' < 2 // true '1'先转为1再和2比较
无法转为有效数字,则会转为NaN,这样的话和数字比较等任何都是返回false:
'ccc' < 2 //false 相当于 Number('ccc') = NaN, NaN < 2返回false
'ccc' > 2 //false
三目运算
null ? 'a' : 'b' //b
undefined ? 'a' : 'b' //b
0 ? 'a' : 'b' //b 注意!!!
'a' ? 'a' : 'b' //a
2 ? 'a' : 'b' //a
[] ? 'a' : 'b' //a