運算子
JavaScript 的運算子(Operators)是一組用來執行不同運算的符號或關鍵字。運算子可以對變數、常數或表達式進行操作,並返回一個結果。以下是 JavaScript 中運算子的詳細說明,包括算術運算子、賦值運算子、比較運算子、邏輯運算子、位元運算子、條件(三元)運算子、字串運算子,以及特殊的 typeof 和 instanceof 運算子。
1. 算術運算子
算術運算子用來執行基本的數學計算,包括加法、減法、乘法、除法等。
+(加法):對兩個數字或字串進行加法運算,或者將兩個字串拼接。-(減法):計算兩個數字的差。*(乘法):計算兩個數字的乘積。/(除法):計算兩個數字的商。%(取餘數):計算兩個數字的餘數。**(指數運算):計算一個數字的指數次方。
1.1 遞增與遞減運算子
++(遞增運算子):將變數的值加 1。--(遞減運算子):將變數的值減 1。
2. 賦值運算子
賦值運算子用於給變數分配值。最基本的賦值運算子是 =,除此之外還有其他複合賦值運算子。
2.1 =(簡單賦值):將右邊的值分配給左邊的變數。
2.2 複合賦值運算子:這些運算子將算術運算與賦值結合起來。
+=:加法賦值運算子。-=:減法賦值運算子。*=:乘法賦值運算子。/=:除法賦值運算子。%=:取餘數賦值運算子。
3. 比較運算子
比較運算子用於比較兩個值,並返回一個布林值(true 或 false)。
==(等於):比較兩個值是否相等,會進行類型轉換。===(全等於):比較兩個值是否嚴格相等,不進行類型轉換。!=(不等於):比較兩個值是否不相等,會進行類型轉換。!==(全不等於):比較兩個值是否嚴格不相等,不進行類型轉換。>(大於):檢查左邊的值是否大於右邊的值。<(小於):檢查左邊的值是否小於右邊的值。>=(大於等於):檢查左邊的值是否大於或等於右邊的值。<=(小於等於):檢查左邊的值是否小於或等於右邊的值。
4. 邏輯運算子
邏輯運算子用於布林值之間的邏輯操作,常用於條件語句中。
* &&(與運算):只有當兩個操作數都為真時,結果才為真。
||(或運算):只要有一個操作數為真,結果就為真。
* !(非運算):將布林值反轉。
5. 位元運算子
位元運算子直接操作數字的二進位表示。常見的位元運算子包括:
&(按位與):對應位的兩個位元都為 1,結果位才為 1。|(按位或):對應位的任何一個位元為 1,結果位就為 1。^(按位異或):對應位的位元不同,結果位為 1。~(按位非):對每個位元取反。<<(左移):將數字的位元向左移動,低位補 0。>>(右移):將數字的位元向右移動,高位補 0 或 1(根據符號)。
6. 條件(三元)運算子
條件運算子(?:)是唯一的三元運算子,用於簡化條件語句。
7. 字串運算子
字串運算子主要是加法運算子(+),用於拼接字串。
8. typeof 運算子
typeof 運算子用於檢查變數的類型。
let num = 42;
console.log(typeof num); // 結果是 "number"
let str = "Hello";
console.log(typeof str); // 結果是 "string"
9. instanceof 運算子
instanceof 運算子用於檢查一個物件是否是某個類別的實例。
總結
JavaScript 的運算子涵蓋了從基本數學計算到複雜邏輯操作的各種功能。熟悉這些運算子及其用法是學習和掌握 JavaScript 的重要基礎。理解如何使用這些運算子可以幫助你編寫更高效、更可讀的代碼。