JavaScript 運算符 是用來對變數或值進行運算的符號。
1. 算術運算符 (Arithmetic Operators)
運算符 |
說明 |
範例 (結果) |
+ |
加法 |
5 + 3 // 8 |
- |
減法 |
5 - 3 // 2 |
* |
乘法 |
5 * 3 // 15 |
/ |
除法 |
10 / 2 // 5 |
% |
取餘數 |
10 % 3 // 1 |
** |
次方 |
2 ** 3 // 8 |
++ |
遞增 (加 1) |
x++ 或 ++x |
-- |
遞減 (減 1) |
x-- 或 --x |
2. 指派運算符 (Assignment Operators)
運算符 |
說明 |
範例 |
= |
指派 |
x = 5 |
+= |
加後指派 |
x += 3 // x = x + 3 |
-= |
減後指派 |
x -= 2 // x = x - 2 |
*= |
乘後指派 |
x *= 2 // x = x * 2 |
/= |
除後指派 |
x /= 2 // x = x / 2 |
%= |
餘數後指派 |
x %= 3 // x = x % 3 |
**= |
次方後指派 |
x **= 2 // x = x ** 2 |
3. 比較運算符 (Comparison Operators)
運算符 |
說明 |
範例 (結果) |
== |
相等 (只比值) |
5 == "5" // true |
=== |
全等 (值與型別相同) |
5 === "5" // false |
!= |
不相等 (只比值) |
5 != "5" // false |
!== |
不全等 |
5 !== "5" // true |
> |
大於 |
10 > 5 // true |
< |
小於 |
10 < 5 // false |
>= |
大於等於 |
10 >= 10 // true |
<= |
小於等於 |
5 <= 10 // true |
4. 邏輯運算符 (Logical Operators)
運算符 |
說明 |
範例 (結果) |
&& |
AND(且) |
true && false // false |
|| |
OR(或) |
true || false // true |
! |
NOT(反向) |
!true // false |
5. 位元運算符 (Bitwise Operators)
運算符 |
說明 |
範例 |
& |
AND |
5 & 1 // 1 |
| |
OR |
5 | 1 // 5 |
^ |
XOR (互斥或) |
5 ^ 1 // 4 |
~ |
NOT (反轉位元) |
~5 // -6 |
<< |
左移 |
5 << 1 // 10 |
>> |
帶符號右移 |
5 >> 1 // 2 |
>>> |
無符號右移 |
5 >>> 1 // 2 |
6. 型別運算符 (Type Operators)
運算符 |
說明 |
範例 |
typeof |
回傳資料型別 |
typeof 123 // "number" |
instanceof |
判斷物件是否為某類型 |
arr instanceof Array // true |
7. 其他運算符 (Others)
運算符 |
說明 |
範例 |
?: |
三元運算子 |
let type = age >= 18 ? "成人" : "未成年"; |
, |
多重運算 |
let x = (1+2, 3+4); // 7 |
delete |
刪除物件屬性 |
delete obj.key |
in |
屬性是否存在於物件中 |
"key" in obj |
new |
建立物件 |
let d = new Date(); |
void |
表示無回傳值 |
void(0) |
8. 運算符優先順序 (Operator Precedence)
由上到下優先級由高到低:
優先級 |
運算符 |
說明 |
1 |
() |
圓括號 |
2 |
. [] new |
成員存取、陣列存取、物件建立 |
3 |
++ -- ! ~ + - typeof void delete |
單元運算子 |
4 |
** |
指數 (右結合) |
5 |
* / % |
乘、除、餘數 |
6 |
+ - |
加法、減法 |
7 |
<< >> >>> |
位移運算 |
8 |
< <= > >= in instanceof |
比較 |
9 |
== != === !== |
相等比較 |
10 |
& |
位元 AND |
11 |
^ |
位元 XOR |
12 |
| |
位元 OR |
13 |
&& |
邏輯 AND |
14 |
|| |
邏輯 OR |
15 |
?: |
三元條件運算子 |
16 |
= += -= *= /= %= **= |
指派 (右結合) |
17 |
, |
逗號運算子 |
📌 注意:
-
**
(指數運算) 和 =
(指派) 都是 右結合。
- 其他大部分運算符是 左結合。