只在此山中,雲深不知處


聽首歌



© 2018 by Shawn Huang
Last Updated: 2018.5.27

運算子(Operators)

運算子是計算符號,讓我們可以做運算,計有

算數運算子(Arithmetic Operators)


計有以下數種:
  1. +: addition(可用於數字相加,數字+字串,字串+字串) >> console.log(10+10);
  2. -: subtraction >> console.log(10 - 1);
  3. *: multiplication >> console.log("5"*2);
  4. /: division >> console.log(10/3);
  5. %: modulus(remainder) >> console.log(10%3);
  6. ++: increment >>

    印出x++表示印x,++在後面,印出++x表示先計算加1再印出x。
  7. --: decrement 與++用法相同,只不過是減1。
  8. **: power >> console.log(3**5);
JavaScript的變數型態不明顯,所以可以計算例如"5"-2,雖然是字串-數字,但是因為字串內容是數字,依然可以計算。

指派運算子(Assignment Operators)


  1. = : >> x = 5
  2. +=: >> x += 5
  3. -=: >> x -= 5
  4. *=: >> x *= 5
  5. /=: >> x /= 5
  6. %=: >> x %= 5
+號可用於字串的相加,結果傳回字串。

比較運算子(Comparison Operators)


  1. ==: equal to(only value) >> "5" == 5 (true)
  2. ===: equal value and equal type
  3. !=: not equal >> "5" != 5 (false)
  4. !==: not equal value or not equal type
  5. >: greater than
  6. <: less than
  7. >=: greater than or equal to
  8. <=: less than or equal to
  9. ?: ternary operator >> 10 > 5 ? "Yes": "No"

邏輯運算子(Logical Operators)


  1. &&: logical and
  2. ||: logical or
  3. ! : logical not

型態運算子(Type Operators)


  1. typeof: returns the type of a variable
  2. instanceof: returns true if an object is an instance of an object type

位元運算子(Bitwise Operators)


  1. &: and >> 0101 & 0100
  2. |: or >> 5|2
  3. ~: not >> ~5
  4. ^: xor >> 1^5
  5. <<: zero fill left shift >> 10 << 2 (*4)
  6. >>: signed right shift >> 10 >> 1 (/2)
  7. >>> zero fill right shift >> 10 >>> 1
JavaScript使用32bits位元計算。所以~5 = -6。