JavaScript - 賦值運算符

你好,有志者!今天,我們將要深入探索JavaScript賦值運算符的精彩世界。如果你是編程新手,別擔心——我會一步一步地引導你,就像我這些年來為無數學生所做的那樣。讓我們一起踏上這次編程冒險吧!

JavaScript - Assignment Operators

JavaScript 賦值運算符

賦值運算符就像編程中的勞動者。它們幫助我們將值賦給變量,這是編程中的一個基本概念。可以把變量想象成我們存儲信息的盒子,賦值運算符則是我們用來把東西放入這些盒子的工具。

基本賦值運算符 (=)

最常見的賦值運算符是等於號 (=)。它簡單但強大。我們來看一個例子:

let myAge = 30;
console.log(myAge); // 輸出:30

在這個例子中,我們創建了一個名為 myAge 的變量,並將值 30 賦給它。然後,console.log語句打印出這個值。

但是,等等,還有更多!賦值運算符能夠做的遠遠不止簡單的賦值。讓我們一起探索一些更令人興奮的運算符!

算術賦值運算符

算術賦值運算符將數學運算與賦值結合起來。它們就像捷徑,讓我們的代碼更簡潔、易於閱讀。

這裡有一個算術賦值運算符的表格:

運算符 示例 等同於
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y
**= x **= y x = x ** y

讓我們看看它們是如何工作的:

let score = 10;

score += 5; // 總分現在想 15
console.log(score); // 輸出:15

score -= 3; // 總分現在想 12
console.log(score); // 輸出:12

score *= 2; // 總分現在想 24
console.log(score); // 輸出:24

score /= 4; // 總分現在想 6
console.log(score); // 輸出:6

score %= 4; // 總分現在想 2 (6除以4的餘數)
console.log(score); // 輸出:2

score **= 3; // 總分現在想 8 (2的三次方)
console.log(score); // 輸出:8

這不是很棒嗎?我們在不斷寫出完整的數學表達式的情況下,以各種方式操縱了 score 變量。

JavaScript 位運算賦值運算符

現在,讓我們進入稍微進階一點的領域:位運算賦值運算符。這些運算符執行位運算並將結果賦值給變量。別擔心這聽起來很複雜——我會為你詳細解釋!

這裡有一個位運算賦值運算符的表格:

運算符 示例 等同於
&= x &= y x = x & y
|= x |= y x = x | y
^= x ^= y x = x ^ y
<<= x <<= y x = x << y
>>= x >>= y x = x >> y
>>>= x >>>= y x = x >>> y

讓我們看一些例子:

let bitwiseNum = 5; // 二進制:0101

bitwiseNum &= 3; // 二進制:0101 & 0011 = 0001
console.log(bitwiseNum); // 輸出:1

bitwiseNum |= 6; // 二進制:0001 | 0110 = 0111
console.log(bitwiseNum); // 輸出:7

在這些例子中,我們執行了位運算 AND (&) 和 OR (|)。

JavaScript 位移賦值運算符

位移賦值運算符是位運算家族的一部分,但它們值得特別關注。它們將數字的位向左或向右移動,並將結果賦值給變量。

我們已經在前面的表格中看到了它們,但讓我們專注於它們:

運算符 示例 等同於
<<= x <<= y x = x << y
>>= x >>= y x = x >> y
>>>= x >>>= y x = x >>> y

這是它們的工作方式:

let shiftNum = 8; // 二進制:1000

shiftNum <<= 1; // 向左移動1位,二進制:10000
console.log(shiftNum); // 輸出:16

shiftNum >>= 2; // 向右移動2位,二進制:0100
console.log(shiftNum); // 輸出:4

位移位就像在數字中移動數字,但在二進制中。這是一個對某些類型的計算非常有用的強大工具!

JavaScript 邏輯賦值運算符

最後但同樣重要的是,讓我們來討論邏輯賦值運算符。這些是相對较新的JavaScript添加,在ES2021中引入。它們將邏輯運算與賦值結合起來。

這裡有一個邏輯賦值運算符的表格:

運算符 示例 等同於
&&= x &&= y x && (x = y)
||= x ||= y x || (x = y)
??= x ??= y x ?? (x = y)

讓我們看看它們是如何工作的:

let a = true;
let b = false;

a &&= 5; // a仍然是true,所以它變成5
console.log(a); // 輸出:5

b ||= 10; // b是false,所以它變成10
console.log(b); // 輸出:10

let c;
c ??= 15; // c是undefined,所以它變成15
console.log(c); // 輸出:15

這些運算符很適合設定默認值或條件性地更新變量。

這就是全部!我們已經探索了JavaScript賦值運算符的世界。記住,熟能生巧。試著在你自己的代碼中使用這些運算符,很快它們就會變成你的第二天性。祝編程愉快,未來的程序员們!

Credits: Image by storyset