{ } ( ) [ ] |
. ; , < > <= |
>= == != === !== |
+ - * % ++ -- |
<< >> >>> & | ^ |
! ~ && || ?: |
= += -= *= %= <<= |
>>= >>>= &= |= ^= |
/ /= |
依功能區分,可分為
算術運算子
JavaScript 的算術運算子 (arithmetic operator) 包含加、減、乘、除、取餘數,皆需兩個運算元 (operand) 構成運算式 (expression) ,如下列表
運算子 | 功能 | 範例 |
---|---|---|
+ | 加 | a + b |
- | 減 | a - b |
* | 乘 | a * b |
/ | 除 | a / b |
% | 取餘數 | a % b |
單元運算子
JavaScript 的單元運算子 (unary operator) 僅需一個運算元,有表示數字為正負的 + 、 - ,另有遞增運算子 (increment operator) ++ ,遞減運算子 (decrement operator) -- ,以及邏輯補數運算子 (logical compliment operator) ! ,如下列表
運算子 | 功能 | 範例 |
---|---|---|
+ | 正 | +a |
- | 負 | -a |
* | 遞增 | ++a, a++ |
/ | 遞減 | --a, a-- |
! | 邏輯補數運算子 | !a |
相等性及關係運算子
JavaScript 的相等性及關係運算子 (equality and Relational Operator) ,比較兩個運算元是否相等或大於小於,結果為布林字面常數 (Boolean literal) ,也就是 true 或 false ,如下列表
運算子 | 功能 | 範例 |
---|---|---|
== | 相等 | a == b |
=== | 相同 | a === b |
!= | 不相等 | a != b |
!== | 不相同 | a !== b |
> | 大於 | a >= b |
>= | 大於等於 | a >= b |
< | 小於 | a < b |
<= | 小於等於 | a <= b |
JavaScript 使用連續兩個等號 == 測試相等性,注意這與一般我們手寫的數學等號 = ,這不一樣喔!
條件運算子
JavaScript 的條件運算子 (conditional operator) ,測試兩個運算元是否都為 true ,或有一個為 true ,另有一個三元運算子,若第一個運算元為 true ,運算結果就是第二個運算元,反之結果為第三個運算元,如下列表
運算子 | 功能 | 範例 |
---|---|---|
&& | 邏輯且 | a && b |
|| | 邏輯或 | a || b |
?: | 條件選擇 | a ? b : c |
位元運算子
JavaScript 亦提供給整數型態進行逐位元運算的運算子,例如某 16 位元整數如下
0000111100001111
取其補數該整數會變成
1111000011110000
位元運算子 (bitwise operator) ,如下列表
運算子 | 功能 | 範例 |
---|---|---|
~ | 取補數 | ~a |
<< | 保留正負號向左位移 | a << b |
>> | 保留正負號向右位移 | a >> b |
>>> | 無正負號向右位移 | a >>> b |
& | 位元且 | a & b |
^ | 位元互斥或 | a ^ b |
| | 位元包含或 | a | b |
指派運算子
JavaScript 最基本的指派運算子 (assignment operator) 為單一個等號 = ,這是用來將等號右邊的值拷貝給給左邊的變數資料。等號也可以跟其他運算子合用,會直接將結果儲存到原變數之中,如
運算子 | 功能 | 範例 |
---|---|---|
= | 指派 | a = b |
+= | 相加同時指派 | a += b |
-= | 相減同時指派 | a -= b |
*= | 相乘同時指派 | a *= b |
/= | 相除同時指派 | a /= b |
%= | 取餘數同時指派 | a %= b |
&= | 位元且同時指派 | a &= b |
^= | 位元互斥或同時指派 | a ^= b |
|= | 位元包含或同時指派 | a |= b |
<<= | 位元向左位移同時指派 | a <<= b |
>>= | 位元向右位移同時指派 | a >>= b |
>>>= | 位元無正負號向右位移同時指派 | a >>>= b |
中英文術語對照 | |
---|---|
運算子 | operator |
算術運算子 | arithmetic operator |
運算元 | operand |
運算式 | expression |
單元運算子 | unary operator |
遞增運算子 | increment operator |
遞減運算子 | decrement operator |
邏輯補數運算子 | logical compliment operator |
相等性及關係運算子 | equality and relational operator |
布林字面常數 | Boolean literal |
條件運算子 | conditional operator |
位元運算子 | bitwise operator |
指派運算子 | assignment operator |
沒有留言:
張貼留言