概述

布尔运算符用于将表达式转为布尔值,一共包含四个运算符。

取反运算符:!

以下六个值取反后为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 || '')
上面代码表示,如果函数调用时,没有提供参数,则该参数默认设置为空字符串。


cathrine
10 声望1 粉丝

乱写。。。