To be or Not To be?邏輯運算子
邏輯運算子(Logical Operator)有 AND &&、OR ||、NOT ! 三種。運算子兩側的值經過ToBoolean轉換後會得到一個布林值,再由邏輯運算子比較後傳回其中一個值。
&&以及||再進行判斷時,會對左邊的數值進行檢查,如果原本是布林值,就進行後續判斷。如果不是,則透過ToBoolean轉換為true或false。
- AND &&:(條件/運算式A) && (條件/運算式B),如果兩側的值都為true,得到true的結果;如果其中一方為false,則得到false。
如果第一個值轉換為true,則回傳第二個值,否則回傳第一個值。 - OR ||:(條件/運算式A) || (條件/運算式B),兩側的值只要有一側為true,就得到true的結果;如果兩側都為false,才得到false。
如果第一個值轉換為true,則回傳第一個值,否則回傳第二個值。 - NOT !:true的結果透過!轉換會得到false,而false的結果會變成true。
那些經過ToBoolean轉換後會得到false的值共有以下五種:
- undefined
- Null
- +0、-0
- NaN
- 空字串””或’’
其他的值都會轉為true。
To be or Not To be?邏輯運算子
https://popeye-ux.github.io/2021/09/10/21-day10-logical/