天天看點

JavaScript 中 i++ 和 ++i 的差別

JavaScript 中 i++ 和 ++i 的差別

英文 | https://javascript.plainenglish.io/the-difference-between-i-and-i-in-javascript-8ac109e84741

翻譯 | 楊小愛

在 JavaScript 中,我們可以使用 i++ 或 ++i 遞增值。這兩個運算符都會将變量的值加一,但它們的做法略有不同。開發人員經常對這兩個運算符之間的差別感到困惑,進而導緻代碼中的錯誤。在本文中,我們将探讨這兩個運算符之間的差別。

字尾運算符

i++ 稱為字尾運算符。這意味着變量的值在表達式中使用後會遞增。例如,考慮以下代碼:

let i = 0;
console.log(i++); // Prints 0
console.log(i); // Prints 1      

字首運算符

++i 稱為字首運算符。這意味着變量的值在用于表達式之前會遞增。例如,考慮以下代碼:

let i = 0;
console.log(++i); // Prints 1
console.log(i); // Prints 1      

如你所見,當我們使用 ++i 運算符時,在表達式中使用 i 之前,它的值會遞增。

它們的差異

雖然,現在可能能夠預測這些運算符的輸出,但重要的是要真正了解産生輸出的原因。變量遞增和傳回的順序在字首和字尾運算符之間有所不同。

使用字尾運算符,變量的值首先在表達式中使用,然後遞增。這意味着如果我們增加一個變量然後将其列印出來,我們将看到原始值。

另一方面,使用字首運算符,變量的值首先遞增,然後在表達式中使用。這意味着當我們使用字首運算符時,我們使用的是變量增加後的新值。

結論

為了避免代碼中的混淆和錯誤,了解這兩個運算符之間的差別很重要。總之,字尾運算符将首先在表達式中使用變量然後遞增它,而字首運算符将首先遞增變量然後在表達式中使用它。

我希望這篇文章能消除你在這個知識點上的困惑,感謝你的閱讀,祝程式設計愉快。

JavaScript 中 i++ 和 ++i 的差別