JavaScript是一種廣泛使用的編程語言,它提供了豐富的運算符來處理各種數據類型和操作。本文將詳細介紹JavaScript中的運算符及其使用方法,幫助讀者更好地理解和運用這些運算符。
算術運算符用于執行基本的數學運算,如加、減、乘、除等。
+
)加法運算符用于將兩個數值相加,或者將字符串連接起來。
let a = 5;
let b = 3;
let sum = a + b; // 8
let str1 = "Hello";
let str2 = "World";
let result = str1 + " " + str2; // "Hello World"
-
)減法運算符用于將兩個數值相減。
let a = 10;
let b = 4;
let difference = a - b; // 6
*
)乘法運算符用于將兩個數值相乘。
let a = 7;
let b = 6;
let product = a * b; // 42
/
)除法運算符用于將兩個數值相除。
let a = 20;
let b = 4;
let quotient = a / b; // 5
%
)取余運算符用于計算兩個數值相除后的余數。
let a = 17;
let b = 5;
let remainder = a % b; // 2
**
)指數運算符用于計算一個數的冪。
let a = 2;
let b = 3;
let power = a ** b; // 8
++
)自增運算符用于將變量的值增加1。
let a = 5;
a++; // a 現在是 6
--
)自減運算符用于將變量的值減少1。
let a = 5;
a--; // a 現在是 4
賦值運算符用于將右側的值賦給左側的變量。
=
)簡單賦值運算符用于將右側的值賦給左側的變量。
let a = 10;
+=
)加法賦值運算符用于將右側的值加到左側的變量上。
let a = 5;
a += 3; // a 現在是 8
-=
)減法賦值運算符用于將右側的值從左側的變量中減去。
let a = 10;
a -= 4; // a 現在是 6
*=
)乘法賦值運算符用于將右側的值與左側的變量相乘。
let a = 7;
a *= 6; // a 現在是 42
/=
)除法賦值運算符用于將左側的變量除以右側的值。
let a = 20;
a /= 4; // a 現在是 5
%=
)取余賦值運算符用于將左側的變量除以右側的值后的余數賦給左側的變量。
let a = 17;
a %= 5; // a 現在是 2
**=
)指數賦值運算符用于將左側的變量的值提升到右側的值的冪。
let a = 2;
a **= 3; // a 現在是 8
比較運算符用于比較兩個值,并返回一個布爾值(true
或 false
)。
==
)相等運算符用于比較兩個值是否相等,不考慮數據類型。
let a = 5;
let b = "5";
let result = a == b; // true
!=
)不等運算符用于比較兩個值是否不相等,不考慮數據類型。
let a = 5;
let b = "5";
let result = a != b; // false
===
)嚴格相等運算符用于比較兩個值是否相等,且數據類型必須相同。
let a = 5;
let b = "5";
let result = a === b; // false
!==
)嚴格不等運算符用于比較兩個值是否不相等,且數據類型必須相同。
let a = 5;
let b = "5";
let result = a !== b; // true
>
)大于運算符用于比較左側的值是否大于右側的值。
let a = 10;
let b = 5;
let result = a > b; // true
<
)小于運算符用于比較左側的值是否小于右側的值。
let a = 5;
let b = 10;
let result = a < b; // true
>=
)大于等于運算符用于比較左側的值是否大于或等于右側的值。
let a = 10;
let b = 10;
let result = a >= b; // true
<=
)小于等于運算符用于比較左側的值是否小于或等于右側的值。
let a = 5;
let b = 10;
let result = a <= b; // true
邏輯運算符用于組合多個條件,并返回一個布爾值。
&&
)邏輯與運算符用于判斷多個條件是否都為真。
let a = true;
let b = false;
let result = a && b; // false
||
)邏輯或運算符用于判斷多個條件中是否至少有一個為真。
let a = true;
let b = false;
let result = a || b; // true
!
)邏輯非運算符用于反轉條件的布爾值。
let a = true;
let result = !a; // false
位運算符用于對二進制數進行操作。
&
)按位與運算符用于對兩個數的二進制表示進行按位與操作。
let a = 5; // 二進制 0101
let b = 3; // 二進制 0011
let result = a & b; // 1 (二進制 0001)
|
)按位或運算符用于對兩個數的二進制表示進行按位或操作。
let a = 5; // 二進制 0101
let b = 3; // 二進制 0011
let result = a | b; // 7 (二進制 0111)
^
)按位異或運算符用于對兩個數的二進制表示進行按位異或操作。
let a = 5; // 二進制 0101
let b = 3; // 二進制 0011
let result = a ^ b; // 6 (二進制 0110)
~
)按位非運算符用于對一個數的二進制表示進行按位取反操作。
let a = 5; // 二進制 0101
let result = ~a; // -6 (二進制 1010)
<<
)左移運算符用于將一個數的二進制表示向左移動指定的位數。
let a = 5; // 二進制 0101
let result = a << 1; // 10 (二進制 1010)
>>
)右移運算符用于將一個數的二進制表示向右移動指定的位數。
let a = 5; // 二進制 0101
let result = a >> 1; // 2 (二進制 0010)
>>>
)無符號右移運算符用于將一個數的二進制表示向右移動指定的位數,左側補0。
let a = -5; // 二進制 11111111111111111111111111111011
let result = a >>> 1; // 2147483645 (二進制 01111111111111111111111111111101)
條件運算符是JavaScript中唯一的三元運算符,用于根據條件選擇兩個值中的一個。
let age = 18;
let status = (age >= 18) ? "Adult" : "Minor";
console.log(status); // "Adult"
類型運算符用于確定變量的數據類型。
typeof
運算符typeof
運算符用于返回變量的數據類型。
let a = 5;
console.log(typeof a); // "number"
let b = "Hello";
console.log(typeof b); // "string"
let c = true;
console.log(typeof c); // "boolean"
let d = {};
console.log(typeof d); // "object"
let e = null;
console.log(typeof e); // "object"
let f = undefined;
console.log(typeof f); // "undefined"
instanceof
運算符instanceof
運算符用于檢查對象是否屬于某個類的實例。
let arr = [1, 2, 3];
console.log(arr instanceof Array); // true
let date = new Date();
console.log(date instanceof Date); // true
,
)逗號運算符用于在一條語句中執行多個操作,返回最后一個操作的結果。
let a = (5, 10);
console.log(a); // 10
void
運算符void
運算符用于執行表達式但不返回任何值。
void (5 + 3); // 無返回值
delete
運算符delete
運算符用于刪除對象的屬性或數組的元素。
let obj = { a: 1, b: 2 };
delete obj.a;
console.log(obj); // { b: 2 }
let arr = [1, 2, 3];
delete arr[1];
console.log(arr); // [1, empty, 3]
new
運算符new
運算符用于創建一個對象實例。
function Person(name) {
this.name = name;
}
let person = new Person("John");
console.log(person.name); // "John"
in
運算符in
運算符用于檢查對象是否包含某個屬性。
let obj = { a: 1, b: 2 };
console.log("a" in obj); // true
console.log("c" in obj); // false
yield
運算符yield
運算符用于暫停和恢復生成器函數的執行。
function* generator() {
yield 1;
yield 2;
yield 3;
}
let gen = generator();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // 3
JavaScript中的運算符有不同的優先級,決定了表達式中運算符的執行順序。以下是一些常見運算符的優先級(從高到低):
()
.
、[]
()
++
、自減 --
!
、按位非 ~
、typeof
、void
、delete
*
、除法 /
、取余 %
+
、減法 -
<<
、按位右移 >>
、無符號右移 >>>
<
、小于等于 <=
、大于 >
、大于等于 >=
、instanceof
、in
==
、不等 !=
、嚴格相等 ===
、嚴格不等 !==
&
^
|
&&
||
? :
=
、+=
、-=
、*=
、/=
、%=
、<<=
、>>=
、>>>=
、&=
、^=
、|=
,
JavaScript提供了豐富的運算符,涵蓋了算術、賦值、比較、邏輯、位運算等多個方面。理解這些運算符的使用方法和優先級對于編寫高效、可讀性強的代碼至關重要。通過本文的介紹,希望讀者能夠更好地掌握JavaScript中的運算符,并在實際開發中靈活運用。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。