算數運算子用於數值計算:
+
):let sum = 5 + 3; // 8
-
):let difference = 5 - 3; // 2
*
):let product = 5 * 3; // 15
/
):let quotient = 6 / 3; // 2
%
):let remainder = 5 % 3; // 2
**
):let power = 2 ** 3; // 8
++
):let a = 5;
a++; // 6
-
):let b = 5;
b--; // 4
比較運算子用於比較兩個值:
==
):let isEqual = 5 == '5'; // true,因為自動類型轉換
===
):let isStrictEqual = 5 === '5'; // false,不同類型
!=
):let isNotEqual = 5 != '5'; // false,因為自動類型轉換
!==
):let isStrictNotEqual = 5 !== '5'; // true,不同類型
>
):let isGreater = 5 > 3; // true
<
):let isLesser = 5 < 3; // false
>=
):let isGreaterOrEqual = 5 >= 5; // true
<=
):let isLesserOrEqual = 5 <= 5; // true
賦值運算子用於給變數賦值:
=
):let x = 5;
+=
):let x = 5;
x += 3; // 相當於 x = x + 3,結果是 8
-=
):let x = 5;
x -= 3; // 相當於 x = x - 3,結果是 2
*=
):let x = 5;
x *= 3; // 相當於 x = x * 3,結果是 15
/=
):let x = 6;
x /= 3; // 相當於 x = x / 3,結果是 2
%=
):let x = 5;
x %= 3; // 相當於 x = x % 3,結果是 2
**=
):let x = 2;
x **= 3; // 相當於 x = x ** 3,結果是 8
邏輯運算子用於布林值運算:
&&
):let a = true && false; // false
||
):let b = true || false; // true
!
):let c = !true; // false
位元運算子用於按位操作:
&
):let result = 5 & 1; // 1,因為 0101 & 0001 = 0001
|
):let result = 5 | 1; // 5,因為 0101 | 0001 = 0101
^
):let result = 5 ^ 1; // 4,因為 0101 ^ 0001 = 0100
~
):let result = ~5; // -6,因為 ~0101 = 1010(二進制補碼表示)
<<
):let result = 5 << 1; // 10,因為 0101 << 1 = 1010
>>
):let result = 5 >> 1; // 2,因為 0101 >> 1 = 0010
>>>
):let result = 5 >>> 1; // 2,因為 0101 >>> 1 = 0010
運算子的優先等級決定了在表達式中運算子的計算順序。以下是 JavaScript 中一些常用運算子的優先等級,從高到低:
()
).
, []
)、函數調用 (()
)、new (帶參數列表)++
, --
)(前綴和後綴)!
)、按位非 (~
)、一元正號 (+
)、一元負號 (-
)、類型轉換 (typeof
)、刪除 (delete
)、void**
)*
, /
, %
)+
, -
)<<
, >>
, >>>
)<
, <=
, >
, >=
, in
, instanceof
)==
, !=
, ===
, !==
)&
)^
)|
)&&
)||
)?:
)=
, +=
, -=
, *=
, /=
, %=
, **=
, <<=
, >>=
, >>>=
, &=
, ^=
, |=
),
)