++value vs value++

++ is the increment operator adding one to the operand. There're two variables of the operator which use ++ as prefix or postfix: ++value and value++.
They have the same affect in for loops. The following loops print the same results which are the numbers from 0 to 4:
for (let i = 0; i < 5; i++) {

// And
for (let i = 0; i < 5; ++i) {


When returning a value, return value++ returns the original value before the value is increased. While return ++value increases the value and returns the updated value.
The following foo and bar functions returns different results:
const foo = x => x++;
const bar = x => ++x;

foo(1);     // 1
bar(1);     // 2

Good to know

value += 1 is another alternative of the postfix increment value++. It's worth noting that they can provide different result when using with strings.
The postfix increment value++ will convert the value to number first, and then increase the value:
let value = '5';
value;          // 6
On the other hand, if value is a string, value += 1 converts the second argument (1) to string first, and then concatenate them together.
let value = '5';
value += 1;
value;          // '51'
Hit the Subscribe button for the latest news on my tools. No spam. Ever!
© 2020 Nguyen Huu Phuoc. All rights reserved