let a = 70; a++; // This returns the value before incrementing. console.log(a) // returns 71
Can someone explain to me why this doesn’t return 70, please?
let b = 70; ++b; // Using it as a prefix returns the value after incrementing. console.log(b) // returns 71
I understand how prefix works.
I have read explanations and watched videos on this subject but it’s still confusing to me. Thank You.
Both versions of them increment the value they’re applied to. If you do nothing with the value of the increment expression itself, they’re equivalent, both of them doing the same thing as
i += 1. The only time it matters is when you use the result of the increment expression:
let a = 70; console.log(a++); // outputs 70, the old value of a, but a will be 71 afterwards console.log(a) // outputs 71; no matter how you increment, after the increment, the value has changed let b = 70; console.log(++b); // outputs 71; the new value of b is produced console.log(b) // outputs 71; same as in case a