# FAQ: Variables - The Increment and Decrement Operator

This community-built FAQ covers the “The Increment and Decrement Operator” exercise from the lesson "Variables ".

Paths and Courses
This exercise can be found in the following Codecademy content:

## FAQs on the exercise The Increment and Decrement Operator

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

## Join the Discussion. Help a fellow learner on their journey.

Agree with a comment or answer? Like () to up-vote the contribution!

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Why would you write out new code to put the number up 1 or down 1.
Rather than simply change the number of the original variable?

what if you don’t know the value because its user input? Or you have a counter on your website, then increasing the counter by one is easier when you have a visitor

or when you use a for loop?

4 Likes

The use of +=, ++ and other daft contractions was introduced in ‘C’ by Kernighan and Ritchie because the original ‘C’ compilers were hosted on PDP8 minicomputers. The available memory was minimal
and the quality of the code development tools even more minimal. Variable names at one point were limited to five characters! It made some sort of sense then to use as few characters as possible. But it also made the code almost unreadable which from a code maintenance point of view is not a good thing. If you really want to see code contraction gone mad read PJ Plaugers’ ‘C’ library text. I have
been writing ‘C’ and various assembly codes for real-time embedded development since 1988. Just as
soon as it became reasonable to do so I threw out the contractions in favour of a more flowing style
of code writing. I just started looking at JavaScript as an additional tool in the GUI/test arsenal and
am really surprised the archaic way of writing formulae has made it into the specification of a
supposedly modern(-ish) web-based language.

1 Like

console.log(gainedDollar);
console.log(lostDollar);

to the existing code so we can see the changes, or promt us to write it ourselves in a third point in the execise.
Otherwise people who dont think of it will not see the output

5 Likes

why does console.log(variable++) not make changes to the variable the same way variable++ does?

it does:

``````i = 0;
console.log(i++)
console.log(i)
``````

see? `i` has increased. I would recommend reading:

https://stackoverflow.com/questions/6867876/javascript-i-vs-i

1 Like

Good catch @beta5196194865
variable++ increments the original value by one and then evaluates to the value before it was incremented.

``````const messages = ['zero','one','two'];
let i = 0;
console.log(messages[i++]);   // zero
console.log(i);               // 1
``````
1 Like