JavaScript 運算子
Javascript 運算子用於執行不同型別的數學和邏輯計算。
示例
賦值運算子 = 賦值
加法運算子 + 相加
乘法運算子 * 相乘
比較運算子 > 比較值
JavaScript 賦值
賦值運算子 (=) 將值賦給變數
賦值示例
let x = 10;
自己動手試一試 »
// 將值 5 賦給 x
let x = 5;
// 將值 2 賦給 y
let y = 2;
// 將 x + y 的值賦給 z
let z = x + y;
自己動手試一試 »
JavaScript 加法
加法運算子 (+) 相加數字
JavaScript 乘法
乘法運算子 (*) 相乘數字
JavaScript 運算子的型別
JavaScript 運算子有不同的型別
- 算術運算子
- 賦值運算子
- 比較運算子
- 字串運算子
- 邏輯運算子
- 按位運算子
- 三元運算子
- 型別運算子
JavaScript 算術運算子
算術運算子 用於對數字執行算術運算
| 運算子 | 描述 |
|---|---|
| + | 加法 |
| - | 減法 |
| * | 乘法 |
| ** | 冪運算 (ES2016) |
| / | 除法 |
| % | 取模 (除法餘數) |
| ++ | 遞增 |
| -- | 遞減 |
注意
算術運算子在 JS 算術 章中詳細描述。
JavaScript 賦值運算子
賦值運算子將值賦給 JavaScript 變數。
加法賦值運算子 (+=) 將值新增到變數。
| 運算子 | 示例 | 等同於 |
|---|---|---|
| = | x = y | x = y |
| += | x += y | x = x + y |
| -= | x -= y | x = x - y |
| *= | x *= y | x = x * y |
| /= | x /= y | x = x / y |
| %= | x %= y | x = x % y |
| **= | x **= y | x = x ** y |
注意
賦值運算子在 JS 賦值 章中詳細描述。
JavaScript 比較運算子
| 運算子 | 描述 |
|---|---|
| == | 等於 |
| === | 值相等且型別相等 |
| != | 不等於 |
| !== | 值不相等或型別不相等 |
| > | 大於 |
| < | 小於 |
| >= | 大於或等於 |
| <= | 小於或等於 |
| ? | 三元運算子 |
注意
比較運算子在 JS 比較 章中詳細描述。
JavaScript 字串比較
所有上述比較運算子也可用於字串
請注意,字串是按字母順序比較的
JavaScript 字串連線
+ 運算子也可用於連線字串
+= 賦值運算子也可用於連線字串
注意
當用於字串時,+ 運算子被稱為連線運算子。
字串與數字相加
將兩個數字相加將返回它們的和,但將一個數字和一個字串相加將返回一個字串
注意
如果你將一個數字和一個字串相加,結果將是一個字串!
JavaScript 邏輯運算子
| 運算子 | 描述 |
|---|---|
| && | 邏輯與 |
| || | 邏輯或 |
| ! | 邏輯非 |
注意
邏輯運算子在 JS 比較 章中詳細描述。
JavaScript 型別運算子
| 運算子 | 描述 |
|---|---|
| typeof | 返回變數的型別 |
| instanceof | 如果物件是某種物件型別的例項,則返回 true |
注意
型別運算子在 JS 型別轉換 章中詳細描述。
JavaScript 位運算子
位運算子作用於 32 位數字。
操作中的任何數字運算元都將轉換為 32 位數字。結果將轉換回 JavaScript 數字。| 運算子 | 描述 | 示例 | 等同於 | 結果 | 十進位制 |
|---|---|---|---|---|---|
| & | AND(與) | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | | OR(或) | 5 | 1 | 0101 | 0001 | 0101 | 5 |
| ~ | NOT(非) | ~ 5 | ~0101 | 1010 | 10 |
| ^ | 異或 | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
| << | 左移 | 5 << 1 | 0101 << 1 | 1010 | 10 |
| >> | 右移 | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
| >>> | 無符號右移 | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
以上示例使用 4 位無符號示例。但 JavaScript 使用 32 位有符號數字。
因此,在 JavaScript 中,~ 5 不會返回 10。它將返回 -6。
~00000000000000000000000000000101 將返回 11111111111111111111111111111010
位運算子在 JS 位操作 章中詳細描述。