英文 | 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 之前,它的值會遞增。
它們的差異
雖然,現在可能能夠預測這些運算符的輸出,但重要的是要真正了解産生輸出的原因。變量遞增和傳回的順序在字首和字尾運算符之間有所不同。
使用字尾運算符,變量的值首先在表達式中使用,然後遞增。這意味着如果我們增加一個變量然後将其列印出來,我們将看到原始值。
另一方面,使用字首運算符,變量的值首先遞增,然後在表達式中使用。這意味着當我們使用字首運算符時,我們使用的是變量增加後的新值。
結論
為了避免代碼中的混淆和錯誤,了解這兩個運算符之間的差別很重要。總之,字尾運算符将首先在表達式中使用變量然後遞增它,而字首運算符将首先遞增變量然後在表達式中使用它。
我希望這篇文章能消除你在這個知識點上的困惑,感謝你的閱讀,祝程式設計愉快。