EP.9 RE:從零開始的學習 JS 生活-第九日之邏輯運算子

前言

轉生第九日,我們在轉生第六日有介紹過運算子,但是唯獨邏輯運算子沒有介紹,所以這邊將會來介紹邏輯運算子。

邏輯運算子

前面章節我們理解比較運算子在兩個數值 or 變數比較後會回傳 truefalse,那邏輯運算子呢?邏輯運算子會稍微有一點點不太一樣,邏輯運算子會先等比較運算子比較後再進行邏輯判斷。

舉一個例子來講,假設我們今天有兩組數字,我希望兩組數字在比對之後再做一次邏輯判斷,這個邏輯判斷是判斷這兩組數字是不是相同都是 true,那在這邊就會使用邏輯運算子中的 &&(AND) :

1
(5 > 2 && 10 < 25); // true

&& 的意思是若兩邊比較出來結果都為 true 才會回傳 true

那麼邏輯運算子最主要有這三種:

邏輯運算子

AND 運算子

在前面有稍微示範過 AND 運算子,簡單來講,兩者結果比較若有一個為 false,那邏輯運算子就會回傳 false,例如:

1
2
3
(5 > 2 && 10 < 25); // true
(5 > 2 && 10 < 25); // true
(5 > 2 && 10 > 25); // false

OR 運算子

OR 運算子要理解很容易,只要有一個是 true 那就會回傳 true

1
(5 > 2 || 10 > 25); // true

Not 運算子

這個運算子簡單來講就是反轉結果,你會比較常見於 if(!a) {...} 這種地方,例如原本結果為 false 卻被反轉變成 true

1
!(5 > 2 && 10 > 25); // 原本為 false 被反轉為 true

重點

最後一個重點,邏輯運算子會先等比較運算子比較完之後才做邏輯判斷,但是要注意一件事情,當若有兩個以上邏輯運算子就會有點不太一樣了,那這就會有相依性的問題(後面章節會在介紹)。

Kuro 大大的補充

最後感謝 Kuro 大大的補充說明~~~

&&|| 這類雖說大家都叫它邏輯運算子,但回傳的東西反倒不一定是 truefalse

1
2
3
0 && 1;    // it will return 0

0 || 'a'; // it will return 'a'

結尾

下一篇的 RE:從零開始的學習 JS 生活-第十日 將會介紹條件判斷式。

0%