概述
布尔运算符用于将表达式转为布尔值,一共包含四个运算符。
取反运算符:!
以下六个值取反后为 true,其他值都为 false。
undefined
null
false
0
NaN
空字符串(”)
且运算符:&& 返回第一个 fasle 值 否则返回到最后
或运算符:|| 返回一个 ture 的值 否则返回到最后
三元运算符:?: if else 区别在于 三元有返回的值 if 没有
‘t’ && ” // “”
‘t’ && ‘f’ // “f”
‘t’ && (1 + 2) // 3
” && ‘f’ // “”
” && ” // “”
‘t’ || ” // “t”
‘t’ || ‘f’ // “t”
” || ‘f’ // “f”
” || ” // “”
短路
if (i) {
doSomething();
}
// 等价于
i && doSomething()
var x = 1;
true || (x = 2) // true
x // 1
或运算符常用于为一个变量设置默认值。
function saveText(text) {
text = text || ”;
// …
}
// 或者写成
saveText(this.text || ”)
上面代码表示,如果函数调用时,没有提供参数,则该参数默认设置为空字符串。