轉生第九日,我們在轉生第六日有介紹過運算子,但是唯獨邏輯運算子沒有介紹,所以這邊將會來介紹邏輯運算子。
前面章節我們理解比較運算子在兩個數值 or 變數比較後會回傳 true
與 false
,那邏輯運算子呢?邏輯運算子會稍微有一點點不太一樣,邏輯運算子會先等比較運算子比較後再進行邏輯判斷。
舉一個例子來講,假設我們今天有兩組數字,我希望兩組數字在比對之後再做一次邏輯判斷,這個邏輯判斷是判斷這兩組數字是不是相同都是 true
,那在這邊就會使用邏輯運算子中的 &&
(AND) :
(5 > 2 && 10 < 25); // true
&&
的意思是若兩邊比較出來結果都為 true
才會回傳 true
。
那麼邏輯運算子最主要有這三種:
在前面有稍微示範過 AND 運算子,簡單來講,兩者結果比較若有一個為 false
,那邏輯運算子就會回傳 false
,例如:
(5 > 2 && 10 < 25); // true
(5 > 2 && 10 < 25); // true
(5 > 2 && 10 > 25); // false
OR 運算子要理解很容易,只要有一個是 true
那就會回傳 true
:
(5 > 2 || 10 > 25); // true
這個運算子簡單來講就是反轉結果,你會比較常見於 if(!a) {...}
這種地方,例如原本結果為 false
卻被反轉變成 true
:
!(5 > 2 && 10 > 25); // 原本為 false 被反轉為 true
最後一個重點,邏輯運算子會先等比較運算子比較完之後才做邏輯判斷,但是要注意一件事情,當若有兩個以上邏輯運算子就會有點不太一樣了,那這就會有相依性的問題(後面章節會在介紹)。
最後感謝 Kuro 大大的補充說明~~~
像
&&
、||
這類雖說大家都叫它邏輯運算子,但回傳的東西反倒不一定是true
或false
0 && 1; // it will return 0
0 || 'a'; // it will return 'a'
下一篇的 RE:從零開始的學習 JS 生活-第十日 將會介紹條件判斷式。
本文同步於:https://hsiangfeng.github.io/javascript/20190924/2350948424/
像 &&
、 ||
這類雖說大家都叫它邏輯運算子,但回傳的東西反倒不一定是 true
或 false
:
0 && 1; // it will return 0
0 || 'a'; // it will return 'a'
野生的 Kuro 大大再度 被我釣出來了
這種狀況下我倒是真的完全沒想到,因為一般常見的觀念都是教回傳 true
OR false
(立刻補充去)