邏輯運算三兄弟
- && ( and )
- || ( or )
- ! ( not )
||
(or)或的意思,只要有個 true ,就會是 true。
只要左右兩邊其中一邊是 rue 的話,他就會是 true 喔!
true || true
> true
true || false
> true
&&
(and)是和的意思,兩個都要是 true 才會是 true 喔!
true && false
>false
true && true
>true
!
(not)不是的意思,不是對就是錯,不是錯就是對辣!
!true
>false
!false
>true
在JavaScript裡面,其他類型(例如:數字)也可以來做 || 或 && 的運算呦!
有短路性質,究竟什毛是短路呢?
先來看 ||
(or)!
3 || 10
> 3
// ||的性質是,只要有個 true ,他整個就會是 true,所以回傳第一個東西!
0 || 123
>123
//0是 false,所以就往後看了,123 是 true,所以就回傳 123!
0 || false
>false
//兩個都是 false,他傳了後面的 false。
再來是&&
(and)!
978 && 0
>0
//&&要兩個都是 true,才會是 true ,但 0 是 false,所以就回傳了 0 。
false && 521
>false
//第一個就是false,不必往後看惹,就是 false 了!
543 && 666
>666
//第一個是 true ,第二個也是 true,印出了第二個 666!
補充一下有什麼東西算 false ,
0
、-0
、null
、false
、Nan
、undefined
、 空字串("")
。
資料來源:
Lidemy 鋰學院-Huli老師的課程
Boolean