[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

[MTR04] W1 D3 Git 進階指令

[MTR04] W1 D3 Git 進階指令

[ 作業檢討 ] 第一週超級挑戰題

[ 作業檢討 ] 第一週超級挑戰題

Command Line 基本操作

Command Line 基本操作


Comments