JavaScript – 操作符
JavaScript 中常用的算術運算符有加法 +
,減法 -
,乘法 *
,除法 /
,取模 %
。愛掏網 - it200.com這些運算符的使用方法與數學上的運算相同。愛掏網 - it200.com
let a = 10;
let b = 5;
console.log(a + b); // 15
console.log(a - b); // 5
console.log(a * b); // 50
console.log(a / b); // 2
console.log(a % b); // 0
需要注意的是,加法運算符還有一種字符串拼接的作用。愛掏網 - it200.com如果運算中有一個或兩個操作數是字符串,加法運算符會將它們拼接在一起。愛掏網 - it200.com
let str1 = "Hello";
let str2 = "world!";
console.log(str1 + " " + str2); // "Hello world!"
自增/自減運算符
自增/自減運算符是一種簡寫語法,可以讓變量的值加 1 或減 1。愛掏網 - it200.com自增運算符為 ++
,自減運算符為 --
。愛掏網 - it200.com
let a = 5;
console.log(a++); // 5,先輸出原值再自增
console.log(a); // 6
console.log(++a); // 7,先自增再輸出新值
console.log(a); // 7
console.log(a--); // 7,先輸出原值再自減
console.log(a); // 6
console.log(--a); // 5,先自減再輸出新值
console.log(a); // 5
自增/自減運算符也可以應用于對象的屬性值。愛掏網 - it200.com
let obj = { a: 5 };
console.log(obj.a++); // 5,先輸出原值再自增
console.log(obj.a); // 6
console.log(++obj.a); // 7,先自增再輸出新值
console.log(obj.a); // 7
比較運算符
比較運算符用于比較兩個值的大小關系,運算結果為布爾值 true
或 false
。愛掏網 - it200.com
JavaScript 中的比較運算符包括相等/不相等 ==
/!=
、全等/不全等 ===
/!==
、大于/小于/大于等于/小于等于 >
/<
/>=
/<=
。愛掏網 - it200.com
相等/不相等運算符
相等/不相等運算符用于比較兩個值是否相等。愛掏網 - it200.com注意,這里的相等不是指類型和值都相等,而是指值相等(如果類型不同會做類型轉換)。愛掏網 - it200.com
console.log(1 == "1"); // true,類型不同但值相等,會做類型轉換
console.log(1 === "1"); // false,類型不同,不會做類型轉換
console.log(1 != "2"); // true,類型不同但值不相等,會做類型轉換
console.log(1 !== "1"); // true,類型不同
全等/不全等運算符
全等/不全等運算符用于比較兩個值是否類型和值都相等。愛掏網 - it200.com
console.log(1 === 1); // true
console.log("1" === 1); // false,類型不同
console.log("1" !== 1); // true,類型不同或值不相等
大于/小于/大于等于/小于等于運算符
大于/小于/大于等于/小于等于運算符用于比較兩個數的大小關系。愛掏網 - it200.com
console.log(2 > 1); // true
console.log(1 >= 1); // true
console.log(3 < 2); // false
console.log(2 <= 2); // true
邏輯運算符
邏輯運算符用于對布爾值進行運算,運算結果也是布爾值 true
或 false
。愛掏網 - it200.com
JavaScript 中的邏輯運算符包括與 &&
、或 ||
、非 !
。愛掏網 - it200.com
與運算符
與運算符在兩個操作數都為真(true)時,結果為真;在任一操作數為假(false)時,結果為假。愛掏網 - it200.com
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
與運算符可以用于多個操作數的情況。愛掏網 - it200.com在多個操作數的情況下,只要有一個操作數為假,結果就為假。愛掏網 - it200.com
console.log(true && true && true); // true
console.log(true && true && false); // false
與運算符是“短路”運算,如果第一個操作數為假,則不再計算第二個操作數。愛掏網 - it200.com
let a = false;
let b = true;
console.log(a && b); // false,不計算 b
或運算符
或運算符在兩個操作數都為假(false)時,結果為假;在任一操作數為真(true)時,結果為真。愛掏網 - it200.com
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
或運算符也可以用于多個操作數的情況。愛掏網 - it200.com在多個操作數的情況下,只要有一個操作數為真,結果就為真。愛掏網 - it200.com
console.log(false || false || true); // true
console.log(false || false || false); // false
或運算符也是“短路”運算,如果第一個操作數為真,則不再計算第二個操作數。愛掏網 - it200.com
let a = true;
let b = false;
console.log(a || b); // true,不計算 b
非運算符
非運算符用于將一個布爾值取反(true 變成 false,false 變成 true)。愛掏網 - it200.com
console.log(!true); // false
console.log(!false); // true
賦值運算符
賦值運算符用于將一個值賦給一個變量,在 JavaScript 中有很多種賦值運算符。愛掏網 - it200.com
等號賦值運算符
等號 =
是基本的賦值運算符,將右側的值賦給左側的變量。愛掏網 - it200.com
let a = 1;
let b = a;
console.log(b); // 1
加等賦值運算符
加等 +=
是將左側的值和右側的值相加,并將結果賦給左側的變量。愛掏網 - it200.com
let a = 1;
a += 2; // a = a + 2
console.log(a); // 3
減等賦值運算符
減等 -=
是將左側的值和右側的值相減,并將結果賦給左側的變量。愛掏網 - it200.com
let a = 3;
a -= 2; // a = a - 2
console.log(a); // 1
乘等賦值運算符
乘等 *=
是將左側的值和右側的值相乘,并將結果賦給左側的變量。愛掏網 - it200.com
let a = 2;
a *= 3; // a = a * 3
console.log(a); // 6
除等賦值運算符
除等 /=
是將左側的值和右側的值相除,并將結果賦給左側的變量。愛掏網 - it200.com
let a = 6;
a /= 3; // a = a / 3
console.log(a); // 2
取模等賦值運算符
取模等 %=
是將左側的值和右側的值取模運算,并將結果賦給左側的變量。愛掏網 - it200.com
let a = 7;
a %= 3; // a = a % 3
console.log(a); // 1
位運算符
位運算符用于對二進制數進行計算,運算結果也是二進制數。愛掏網 - it200.com
JavaScript 中的位運算符包括按位與 &
、按位或 |
、按位異或 ^
、按位非 ~
、左移 <<
、右移 >>
、無符號右移 >>>
。愛掏網 - it200.com
按位與運算符
按位與運算符對兩個操作數的二進制數進行“與”運算,結果為一個新的二進制數。愛掏網 - it200.com
console.log(0b1010 & 0b1100); // 0b1000
按位或運算符
按位或運算符對兩個操作數的二進制數進行“或”運算,結果為一個新的二進制數。愛掏網 - it200.com
console.log(0b1010 | 0b1100); // 0b1110
按位異或運算符
按位異或運算符對兩個操作數的二進制數進行“異或”運算,結果為一個新的二進制數。愛掏網 - it200.com
console.log(0b1010 ^ 0b1100); // 0b0110
按位非運算符
按位非運算符對一個操作數的二進制數進行“取反”運算,結果為一個新的二進制數。愛掏網 - it200.com
console.log(~0b1010); // 0b0101(負數返回一個補碼)
左移運算符
左移運算符將一個二進制數向左移動指定的位數,不足部分補 0,結果為一個新的二進制數。愛掏網 - it200.com
console.log(0b1010 << 2); // 0b101000
右移運算符
右移運算符將一個二進制數向右移動指定的位數,不足部分補 0,結果為一個新的二進制數。愛掏網 - it200.com
console.log(0b1010 >> 2); // 0b10
無符號右移運算符
無符號右移運算符將一個二進制數向右移動指定的位數,不足部分補 0,結果為一個新的二進制數(無符號數移位,左邊補 0)。愛掏網 - it200.com
console.log(0b1010 >>> 2); // 0b10
條件運算符
條件運算符是 JavaScript 中唯一的三元運算符,也稱為“三目運算符”(?:),用于返回兩個值中的一個,根據條件的真假決定返回哪個值。愛掏網 - it200.com
condition ? value1 : value2
如果條件為真,返回 value1
,否則返回 value2
。愛掏網 - it200.com
let a = 5;
let b = 10;
let result = a > b ? "Hello" : "World";
console.log(result); // "World"
結論
JavaScript 中的操作符包括算術運算符、自增/自減運算符、比較運算符、邏輯運算符、賦值運算符、位運算符和條件運算符。愛掏網 - it200.com在使用操作符時,需要注意它們的優先級和左右結合性,以避免出現不必要的錯誤。愛掏網 - it200.com