[Week 2] JavaScript - 邏輯運算與位元運算


Posted by Mily on 2020-07-20

邏輯運算的短路性質

關於 false

在 JavaScript 中,以下這些值會被當作是 false:

  1. null
  2. 0
  3. NaN
  4. ''(空字串)
  5. undefined

|| = or(或)

  • 只要其中一邊遇到 true,即會顯示 true
  • 若第一個遇到的值即為 true,即會回傳 true,不需再理會第二個值
    true || true,即得 true
    true || false,即得 true
    3 || 10,即得 3
    false || 5,即得 5
    0 || 10,即得 10(數值 0 在 JavaScript 中會被當作 false)
    false || 10,即得 10
    
    ### && = and(和)
    主要由第二個數值決定要回傳什麼樣的結果
    但如果第一個值是 false,就只會回傳 false,不再往後看後面的值
    true && true ,即得 true
    true && false ,即得 false
    3 && 10,即得 10
    10 && 3,即得 3
    false && 3,即得 false
    3 && false,即得 false
    

! = not

!true,即得 false
!false,即得 true

位移運算子 >> 與 <<

>> 右移 n 位
\<< 左移 n 位

懶人包:
\<< 可以想成乘以 2 的 n 次方
>> 可以想成除以 2 的 n 次方

10 << 1,得 20
10 << 3,得 80(這裡的 3 代表 2^3)
1 << 10,得 1024(這裡的 10 代表 2^10)
1024 >> 1,得 512

為什麼要用這個位移運算子?

比起使用 * 這個符號,對於電腦來說二進位是電腦最原始的形式,所以使用位移運算子的效能會比較快。

位元運算 and、or、not、xor

(待補)

變數

undefined = 宣告了,但未賦值
not defined = 尚未宣告


(以上內容是我在 程式導師實驗計畫第四期 的學習紀錄,如有理解錯誤,歡迎糾正,謝謝:D)
資料來源:Lidemy


#javascript







Related Posts

Secure Apache Using Certbot with Let's Encrypt on Ubuntu 20.04

Secure Apache Using Certbot with Let's Encrypt on Ubuntu 20.04

我很菜,所以只會用原生 JS 跟 CSS 寫「口罩地圖 」Ep.05

我很菜,所以只會用原生 JS 跟 CSS 寫「口罩地圖 」Ep.05

[Day02]: Docker 環境配置

[Day02]: Docker 環境配置


Comments