引言
在 JavaScript 編程中,運算符是用于對數據進行操作的特殊符號。通過使用運算符,我們可以實現各種計算、比較和邏輯判斷等功能。JavaScript 中的運算符種類豐富,涵蓋了算術、比較、邏輯、賦值等多個方面。下面將詳細介紹各類運算符及其使用方法,并結合代碼示例進行說明。
一、算術運算符
算術運算符主要用于執行基本的數學運算,如加、減、乘、除等。
1. 加法運算符(+
)
加法運算符既可以用于數字相加,也可以用于字符串拼接。
// 數字相加
let num1 = 5;
let num2 = 3;
let sum = num1 + num2;
console.log(sum); // 輸出: 8// 字符串拼接
let str1 = 'Hello';
let str2 = ' World';
let combinedStr = str1 + str2;
console.log(combinedStr); // 輸出: Hello World
2. 減法運算符(-
)
減法運算符用于計算兩個數字的差值。
let num3 = 10;
let num4 = 4;
let difference = num3 - num4;
console.log(difference); // 輸出: 6
3. 乘法運算符(*
)
乘法運算符用于計算兩個數字的乘積。
let num5 = 6;
let num6 = 2;
let product = num5 * num6;
console.log(product); // 輸出: 12
4. 除法運算符(/
)
除法運算符用于計算兩個數字的商。
let num7 = 15;
let num8 = 3;
let quotient = num7 / num8;
console.log(quotient); // 輸出: 5
5. 取余運算符(%
)
取余運算符用于計算兩個數字相除后的余數。
let num9 = 10;
let num10 = 3;
let remainder = num9 % num10;
console.log(remainder); // 輸出: 1
6. 自增運算符(++
)
自增運算符用于將變量的值加 1,分為前置自增和后置自增。
let num11 = 5;
// 前置自增
let preIncrement = ++num11;
console.log(preIncrement); // 輸出: 6
console.log(num11); // 輸出: 6let num12 = 5;
// 后置自增
let postIncrement = num12++;
console.log(postIncrement); // 輸出: 5
console.log(num12); // 輸出: 6
7. 自減運算符(--
)
自減運算符用于將變量的值減 1,同樣分為前置自減和后置自減。
let num13 = 8;
// 前置自減
let preDecrement = --num13;
console.log(preDecrement); // 輸出: 7
console.log(num13); // 輸出: 7let num14 = 8;
// 后置自減
let postDecrement = num14--;
console.log(postDecrement); // 輸出: 8
console.log(num14); // 輸出: 7
二、比較運算符
比較運算符用于比較兩個值的大小關系,返回一個布爾值(true
或 false
)。
1. 等于運算符(==
)
等于運算符比較兩個值是否相等,會進行類型轉換。
let a = 5;
let b = '5';
console.log(a == b); // 輸出: true
2. 嚴格等于運算符(===
)
嚴格等于運算符比較兩個值是否相等,且要求類型也相同。
let c = 5;
let d = '5';
console.log(c === d); // 輸出: false
3. 不等于運算符(!=
)
不等于運算符比較兩個值是否不相等,會進行類型轉換。
let e = 5;
let f = '6';
console.log(e != f); // 輸出: true
4. 嚴格不等于運算符(!==
)
嚴格不等于運算符比較兩個值是否不相等,且要求類型也不同。
let g = 5;
let h = '5';
console.log(g !== h); // 輸出: true
5. 大于運算符(>
)
大于運算符比較左邊的值是否大于右邊的值。
let i = 10;
let j = 5;
console.log(i > j); // 輸出: true
6. 小于運算符(<
)
小于運算符比較左邊的值是否小于右邊的值。
let k = 3;
let l = 8;
console.log(k < l); // 輸出: true
7. 大于等于運算符(>=
)
大于等于運算符比較左邊的值是否大于或等于右邊的值。
let m = 5;
let n = 5;
console.log(m >= n); // 輸出: true
8. 小于等于運算符(<=
)
小于等于運算符比較左邊的值是否小于或等于右邊的值。
let o = 2;
let p = 4;
console.log(o <= p); // 輸出: true
三、邏輯運算符
邏輯運算符用于組合多個布爾值,進行邏輯判斷。
1. 邏輯與運算符(&&
)
邏輯與運算符只有當兩個操作數都為 true
時,結果才為 true
。
let isTrue1 = true;
let isTrue2 = true;
let isFalse = false;
console.log(isTrue1 && isTrue2); // 輸出: true
console.log(isTrue1 && isFalse); // 輸出: false
2. 邏輯或運算符(||
)
邏輯或運算符只要有一個操作數為 true
,結果就為 true
。
console.log(isTrue1 || isFalse); // 輸出: true
console.log(isFalse || isFalse); // 輸出: false
3. 邏輯非運算符(!
)
邏輯非運算符用于取反操作,將 true
變為 false
,將 false
變為 true
。
console.log(!isTrue1); // 輸出: false
console.log(!isFalse); // 輸出: true
四、賦值運算符
賦值運算符用于將一個值賦給一個變量。
1. 基本賦值運算符(=
)
基本賦值運算符將右邊的值賦給左邊的變量。
let x = 10;
console.log(x); // 輸出: 10
2. 復合賦值運算符
復合賦值運算符結合了算術運算和賦值操作。
let y = 5;
// 加法賦值
y += 3; // 相當于 y = y + 3
console.log(y); // 輸出: 8let z = 10;
// 減法賦值
z -= 4; // 相當于 z = z - 4
console.log(z); // 輸出: 6let w = 2;
// 乘法賦值
w *= 5; // 相當于 w = w * 5
console.log(w); // 輸出: 10let u = 12;
// 除法賦值
u /= 3; // 相當于 u = u / 3
console.log(u); // 輸出: 4let v = 15;
// 取余賦值
v %= 4; // 相當于 v = v % 4
console.log(v); // 輸出: 3
五、位運算符
位運算符用于對整數的二進制位進行操作。
1. 按位與運算符(&
)
按位與運算符對兩個操作數的對應二進制位進行與運算。
let num15 = 5; // 二進制: 0101
let num16 = 3; // 二進制: 0011
let bitwiseAnd = num15 & num16; // 二進制: 0001
console.log(bitwiseAnd); // 輸出: 1
2. 按位或運算符(|
)
按位或運算符對兩個操作數的對應二進制位進行或運算。
let bitwiseOr = num15 | num16; // 二進制: 0111
console.log(bitwiseOr); // 輸出: 7
3. 按位異或運算符(^
)
按位異或運算符對兩個操作數的對應二進制位進行異或運算。
let bitwiseXor = num15 ^ num16; // 二進制: 0110
console.log(bitwiseXor); // 輸出: 6
4. 按位取反運算符(~
)
按位取反運算符對操作數的每一個二進制位取反。
let num17 = 5; // 二進制: 0101
let bitwiseNot = ~num17; // 二進制: 1010(補碼形式)
console.log(bitwiseNot); // 輸出: -6
5. 左移運算符(<<
)
左移運算符將操作數的二進制位向左移動指定的位數。
let num18 = 5; // 二進制: 0101
let leftShift = num18 << 2; // 二進制: 010100
console.log(leftShift); // 輸出: 20
6. 右移運算符(>>
)
右移運算符將操作數的二進制位向右移動指定的位數,符號位保持不變。
let num19 = 20; // 二進制: 010100
let rightShift = num19 >> 2; // 二進制: 000101
console.log(rightShift); // 輸出: 5
7. 無符號右移運算符(>>>
)
無符號右移運算符將操作數的二進制位向右移動指定的位數,左邊補 0。
let num20 = -20;
let unsignedRightShift = num20 >>> 2;
console.log(unsignedRightShift);
六、條件運算符(三元運算符)
條件運算符是 JavaScript 中唯一的三元運算符,用于根據條件的真假返回不同的值。
let age = 18;
let message = age >= 18 ? '成年人' : '未成年人';
console.log(message); // 輸出: 成年人
七、逗號運算符
逗號運算符用于在一條語句中執行多個表達式,并返回最后一個表達式的值。
let result = (1 + 2, 3 + 4, 5 + 6);
console.log(result); // 輸出: 11
八、typeof 運算符
typeof
運算符用于返回一個表示數據類型的字符串。
let num21 = 10;
let str3 = 'hello';
let bool3 = true;
console.log(typeof num21); // 輸出: number
console.log(typeof str3); // 輸出: string
console.log(typeof bool3); // 輸出: boolean
總結
JavaScript 中的運算符豐富多樣,每種運算符都有其特定的用途和功能。掌握這些運算符的使用方法,能夠幫助我們更高效地編寫代碼,實現各種復雜的功能。在實際開發中,要根據具體的需求選擇合適的運算符,并注意運算符的優先級和結合性,以避免出現錯誤。