iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
1
Modern Web

RE:從零開始的學習 JS 生活系列 第 10

EP.9 RE:從零開始的學習 JS 生活-第九日

前言

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

邏輯運算子

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

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

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

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

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

邏輯運算子

AND 運算子

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

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

OR 運算子

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

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

Not 運算子

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

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

重點

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

Kuro 大大的補充

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

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

0 && 1;    // it will return 0 

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

結尾

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

本文同步於:https://hsiangfeng.github.io/javascript/20190924/2350948424/


上一篇
EP.8 RE:從零開始的學習 JS 生活-第八日
下一篇
EP.10 RE:從零開始的學習 JS 生活-第十日
系列文
RE:從零開始的學習 JS 生活32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

2
Kuro Hsu
iT邦新手 1 級 ‧ 2019-09-24 18:33:58

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

0 && 1;    // it will return 0 

0 || 'a';  // it will return 'a'
Ray iT邦研究生 4 級 ‧ 2019-09-24 18:45:15 檢舉

野生的 Kuro 大大再度 被我釣出來了

這種狀況下我倒是真的完全沒想到,因為一般常見的觀念都是教回傳 true OR false (立刻補充去)

我要留言

立即登入留言