# JavaScript中的運算符有哪些及怎么用
JavaScript作為一門動態編程語言,其運算符系統是構建邏輯和操作數據的核心工具。本文將全面解析JavaScript中的各類運算符,包括它們的分類、用法以及實際應用場景。
## 一、運算符概述
運算符是用于執行特定操作的符號,JavaScript中的運算符可分為以下幾大類:
1. 算術運算符
2. 賦值運算符
3. 比較運算符
4. 邏輯運算符
5. 位運算符
6. 其他特殊運算符
## 二、算術運算符
算術運算符用于執行基本數學運算:
### 1. 基本算術運算符
```javascript
let a = 10, b = 3;
console.log(a + b); // 13,加法
console.log(a - b); // 7,減法
console.log(a * b); // 30,乘法
console.log(a / b); // 3.333...,除法
console.log(a % b); // 1,取模(余數)
console.log(a ** b); // 1000,指數運算(ES6新增)
let x = 5;
console.log(x++); // 5(先返回后增加)
console.log(++x); // 7(先增加后返回)
console.log(x--); // 7(先返回后減少)
console.log(--x); // 5(先減少后返回)
用于給變量賦值:
let y = 10; // 簡單賦值
let z = 5;
z += 3; // 等同于 z = z + 3
z -= 2; // 等同于 z = z - 2
z *= 4; // 等同于 z = z * 4
z /= 2; // 等同于 z = z / 2
z %= 3; // 等同于 z = z % 3
z **= 2; // 等同于 z = z ** 2
用于比較兩個值,返回布爾值:
console.log(5 == '5'); // true,值相等(自動類型轉換)
console.log(5 === '5'); // false,嚴格相等(值和類型)
console.log(5 != '5'); // false
console.log(5 !== '5'); // true
console.log(5 > 3); // true
console.log(5 < 3); // false
console.log(5 >= 5); // true
console.log(5 <= 4); // false
用于組合或操作布爾值:
console.log(true && false); // false,邏輯與
console.log(true || false); // true,邏輯或
console.log(!true); // false,邏輯非
// && 遇到假值立即返回
false && console.log("不會執行");
// || 遇到真值立即返回
true || console.log("不會執行");
let value = null ?? 'default'; // 'default'
直接操作二進制位:
let a = 5; // 0101
let b = 3; // 0011
console.log(a & b); // 1 (0001),按位與
console.log(a | b); // 7 (0111),按位或
console.log(a ^ b); // 6 (0110),按位異或
console.log(~a); // -6,按位非
console.log(a << 1); // 10 (1010),左移
console.log(a >> 1); // 2 (0010),右移
console.log(a >>> 1);// 2 (0010),無符號右移
let age = 20;
let status = age >= 18 ? '成人' : '未成年';
console.log(typeof 42); // "number"
console.log(typeof 'text'); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object"(歷史遺留問題)
class Car {}
let myCar = new Car();
console.log(myCar instanceof Car); // true
const user = {
profile: {
name: 'Alice'
}
};
console.log(user?.profile?.name); // "Alice"
console.log(user?.address?.city); // undefined(不會報錯)
// 數組展開
let arr1 = [1, 2];
let arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]
// 對象展開
let obj1 = { a: 1, b: 2 };
let obj2 = { ...obj1, c: 3 }; // { a:1, b:2, c:3 }
JavaScript運算符按以下優先級執行(從高到低):
()
分組++
--
后置遞增/減!
~
+
-
++
--
前置操作**
指數*
/
%
+
-
<<
>>
>>>
<
<=
>
>=
in
instanceof
==
!=
===
!==
&
^
|
&&
||
??
function validateForm(username, password) {
return username.length >= 6 && password.length >= 8;
}
const isLoggedIn = true;
const message = isLoggedIn ? '歡迎回來' : '請先登錄';
function greet(name) {
name = name || '訪客';
console.log(`你好,${name}`);
}
JavaScript的運算符系統提供了豐富的操作能力:
掌握這些運算符的用法和優先級,是編寫高效JavaScript代碼的基礎。在實際開發中,應根據場景選擇合適的運算符,并注意運算符優先級可能帶來的意外結果,必要時使用括號明確運算順序。
通過本文的系統學習,相信你已經對JavaScript運算符有了全面的認識。接下來可以通過實際編碼練習來鞏固這些知識,逐步提升編碼能力。 “`
這篇文章共計約1900字,采用Markdown格式編寫,全面涵蓋了JavaScript中的各類運算符及其使用方法,包含代碼示例和實際應用場景,適合作為學習參考資料。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。