跳至主要内容

JavaScript ++ vs. += 1,你應該選擇哪個?

· 閱讀時間約 4 分鐘

在 JavaScript 中,我們常常需要對變數進行增值操作,最常見的兩種方式就是使用 ++ 運算符和 += 1。 這兩者看起來都能達到相同的目的:將變數的值增加 1,但實際上它們之間有一些細微的差異。這篇文章將帶你了解這兩者之間的不同之處,幫助你在編寫程式時做出更明智的選擇。

++ 運算符

++ 運算符是一種一元運算符,用於將變數的值增加 1。它有兩種形式:前置遞增和後置遞增。

前置遞增++variable,先將變數的值增加 1,然後回才遞增後的值。

function makeCounter(initialValue = 0) {
let count = initialValue;
return () => {
return count++; // 先回傳 count 的值,然後再將其增加 1
};
}

const counter = makeCounter();
counter(); // 0
counter(); // 1
counter(); // 2

後置遞增variable++,先回傳變數的值,然後再將其增加 1。

function makeCounter(initialValue = 0) {
let count = initialValue;
return () => {
return ++count; // 先將 count 的值增加 1,然後再回傳增加後的值
};
}

const counter = makeCounter();
counter(); // 1
counter(); // 2
counter(); // 3

+= 運算符

+= 運算符是一種賦值運算符,用於將變數的值增加指定的數量。它的形式是 variable += value,表示將變數的值增加 value

function makeCounter(initialValue = 0) {
let count = initialValue;
return () => {
return (count += 1); // 將 count 的值增加 1
};
}

const counter = makeCounter();
counter(); // 1
counter(); // 2
counter(); // 3

總結

特性x++++xx += 1
操作順序先回傳變數的舊值,再進行自增先進行自增,再回傳變數的新值直接加 1 並回傳結果
回傳結果回傳原本的變數值回傳變數加 1 後的結果回傳變數加 1 後的結果
可讀性可能會讓人有點困惑行為明確,容易理解簡單易懂,適合大多數情況
適用場景需要先用原本的變數值的情況需要馬上使用加 1 後的結果進行簡單的增值操作

總的來說,++ 運算符和 += 1 運算符都是用來對變數進行增值操作的方法,但它們之間有一些細微的差異。在選擇使用哪一種方法時,你可以根據自己的需求和程式的可讀性來做出選擇。