JavaScript 初學者必學:簡化變數更新的方法 i++

更新日期: 2025 年 7 月 4 日

在撰寫程式時,一個非常常見的需求就是「更新」變數的數值。

所謂更新,就是根據變數目前的值,運算出一個新的值,再把這個新值存回變數中。

例如,我們可能希望某個計數器每次加 1、某個數值每次乘 2,或某個總和不斷累加新的數字。

這種更新變數值的動作,尤其在 迴圈 裡面出現得非常頻繁。

因為迴圈的特性就是重複執行相同或類似的程式碼,每次執行時,變數都會根據前一次的值作為基礎,計算出下一個新的值。

舉例來說,如果我們有一個變數 counter,它在每次迴圈時要增加 1,我們會希望每次的值都是上一次的基礎上再加 1。

在寫程式時,養成善用簡化語法的習慣非常重要。

為什麼呢?因為:

1️⃣ 程式碼更簡潔易讀:當程式邏輯變得短小明確,不僅自己看得懂,將來回頭維護或讓別人閱讀程式時,也能更快理解每一行程式在做什麼。

2️⃣ 減少出錯機會:簡化語法能幫助我們減少重複輸入的機會,也就降低了打錯字或邏輯錯誤的風險。

3️⃣ 程式維護更輕鬆:當程式碼整齊有序,以後要修改或調整程式邏輯時,也會更加容易。

在接下來的文章裡,我們會循序漸進,帶你認識最基礎的變數更新寫法,並說明如何善用 JavaScript 提供的簡化語法,讓你的程式碼更有效率、更專業。

透過這些語法,你會發現原本需要好幾個字的運算式,其實都可以用簡單的寫法達成同樣的效果!

變數更新的基礎寫法

當我們在寫程式時,常常需要讓變數的數值隨著程式執行不斷變化。

這種變化通常是根據變數當前的數值,運算出一個新值,再把新值存回去覆蓋原來的值。

這就是我們所說的「變數更新」。變數更新在程式開發中非常重要,因為它是迴圈、計數、累加、計算總和、統計資料等功能的基礎。

一般寫法:完整表達更新邏輯

當我們想讓變數的值在每次執行時 累加 1,最直覺的做法就是直接用一個完整的運算式來表達它的變化,像這樣:

counter = counter + 1;

這一行程式碼的含義是:

1️⃣ 先取出變數 counter 目前的值
程式會先讀取變數 counter 原本存放的數值。

2️⃣ 將它與數字 1 相加
程式接著會計算 counter + 1,得到一個新的數值。

3️⃣ 把這個新值再存回變數 counter
最後,程式會將這個相加後的結果覆蓋掉原本的值,也就是把新值儲存在 counter 裡。

例如,如果 counter 原本的值是 3,執行完 counter = counter + 1; 之後,counter 的值就會變成 4。

為什麼這樣的寫法被視為「基礎」?

這種寫法雖然有點冗長,但它的好處是清楚、易讀,能完整表現出變數更新的流程。

特別是當初學者第一次學習變數的運算邏輯時,這種寫法可以幫助大家理解 「變數更新是基於原本的值去計算新值」 這個概念。

很多時候,不只是加 1,我們還可能會用類似的語法做其他運算,例如:

total = total + price;  // 將新價格加入總和
count = count + quantity;  // 將某次數量加到總數
score = score + bonus;  // 加上額外分數

這些例子都跟 counter = counter + 1; 是同樣的運作邏輯。

一個小提醒

雖然這種寫法簡單易懂,但當變數更新的動作在程式中非常頻繁時(例如在迴圈中重複執行數百、數千次),程式設計師通常會希望有更精簡的語法來達成相同目的。

這也是為什麼我們接下來會學習簡化語法的原因。

JavaScript 提供的簡化語法

當我們了解了基礎的變數更新寫法後,你會發現有些情況下,寫程式時會重複打很多一樣的變數名稱。

例如:

counter = counter + 1;

雖然這樣寫很清楚,但有點累贅,因為你要重複輸入變數名稱兩次。

久而久之,如果程式碼中這類更新操作很多,不僅增加打字量,也比較容易因手誤造成 bug(例如變數名稱拼錯)。

為了讓程式碼更簡潔,JavaScript 提供了簡化語法。

使用 += 來簡化寫法

假設我們想讓變數 counter 的值增加 1,除了寫成 counter = counter + 1;,還可以用以下的簡化語法:

counter += 1;

這一行程式碼的含義和 counter = counter + 1; 完全相同,但寫起來更短,程式碼也更俐落。

為什麼這樣的簡化語法更好?

  • 可讀性更高:只看一眼就知道「讓變數加某個數值」。
  • 減少打錯字風險:變數名稱只寫一次,不怕拼錯。
  • 維護方便:當你要改變加的數字(例如從 1 改成 2),只需改一個地方。

類似簡化方式還可以應用在哪些運算?

除了 +=,JavaScript 還提供了其他常用運算的簡化寫法,讓我們能快速更新變數值:

簡化寫法等同完整寫法說明
counter -= 1;counter = counter - 1;讓 counter 減 1
result *= 2;result = result * 2;讓 result 變成 2 倍
value /= 3;value = value / 3;讓 value 除以 3
num %= 5;num = num % 5;讓 num 變成除以 5 的餘數

更多範例

score += 10;  // 分數加 10
price -= 5;   // 價格減 5
total *= 1.05; // 總價調漲 5%
average /= 2; // 平均值除以 2

這些簡化語法不只是為了減少打字,還讓程式的意圖一目了然。

在迴圈中應用簡化語法

簡化語法在迴圈中特別有用,因為迴圈經常需要更新計數器的數值,像是每次加 1、加 2 或乘以某個數字。

範例:印出 0 到 12 的偶數

假如我們想印出 0 到 12 之間的偶數,首先可以用基礎完整的語法來寫出程式邏輯。

基礎寫法

for (let number = 0; number <= 12; number = number + 2) {
  console.log(number);
}

在這裡:

  • let number = 0:這是變數的初始值,我們讓 number 從 0 開始。
  • number <= 12:這是迴圈的條件判斷,當 number 的值小於或等於 12 時,迴圈會持續執行。
  • number = number + 2:每次執行完迴圈後,讓 number 的值在原來的基礎上增加 2。

這樣的寫法完整表達了變數如何更新:取出 number 的原始值,加上 2,再存回 number 裡。

縮寫語法

JavaScript 提供了更簡潔的寫法,可以把 number = number + 2 簡化成:

for (let number = 0; number <= 12; number += 2) {
  console.log(number);
}

這裡的 number += 2number = number + 2 的效果完全一樣,但語法更短、更好讀。

縮寫語法的好處:

  • 減少打字量。
  • 提升程式碼可讀性。
  • 減少出錯機會(變數名稱只需寫一次)。

再進一步:更簡短的增減語法

當我們只需要讓變數加 1 或減 1 時,JavaScript 還提供了更短的寫法:

counter++;

等同於:

counter += 1;

counter = counter + 1;

同理,減 1 的寫法是:

counter--;

等同於:

counter -= 1;

counter = counter - 1;

這種寫法的特點

  • 是專門用來表示變數值增加或減少 1 的快捷語法。
  • for 迴圈 或計數器邏輯中,幾乎隨處可見。
  • 不只簡短,也被公認為最佳實務。

範例

for (let i = 0; i < 10; i++) {
  console.log(i);
}

這裡的 i++ 就是經典應用。

實務建議

✔ 如果數值變動是 1,就用 ++--
✔ 如果變動是其他數字,用 +=-= 等簡化運算。
✔ 若變數值需要做乘法或除法等運算,也記得善用 *=/= 等語法。

善用簡化語法,能讓你的程式碼不僅正確,還能看起來專業又乾淨!

簡化語法的誕生由來

在程式語言的早期,例如 1950 年代的 Fortran 或 1960 年代的 C 語言,程式設計師經常需要手動撰寫完整的運算式,例如:

counter = counter + 1;

雖然這樣的寫法邏輯清楚,但當程式碼中需要頻繁進行加減或其他運算時,這種重複又冗長的語法容易讓程式碼顯得雜亂,也讓程式設計師疲於打字。

程式語言的設計者意識到這個問題後,開始提供更精簡的寫法,目的是:

減少開發者輸入的字數
提升程式碼可讀性
降低出錯風險(例如變數名稱打錯一次就會出 bug)

於是,像 +=-=*=/= 等簡化語法誕生了。

到了後來,C 語言更進一步設計了 ++-- 這種專門用於加減 1 的特殊符號,成為了程式語言中最常見也最經典的簡化運算子。

這樣的設計理念被沿用到許多後來誕生的程式語言,包含 JavaScript、Java、Python、C++、Go 等,都支援類似的簡化語法。

小結

在 JavaScript 中,更新變數數值是非常常見的操作,尤其在迴圈、計數器、數值計算等場景中。

善用簡化語法不僅能讓程式碼更短小精悍,也讓邏輯表達更直覺。建議初學者在日常練習中多加熟悉這些語法,讓你的程式碼越寫越漂亮、越寫越有效率!

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *