| { } ( ) [ ] |
| . ; , < > <= |
| >= == != === !== |
| + - * % ++ -- |
| << >> >>> & | ^ |
| ! ~ && || ?: |
| = += -= *= %= <<= |
| >>= >>>= &= |= ^= |
| / /= |
依功能區分,可分為
算術運算子
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 |
沒有留言:
張貼留言