Addition is not working in JavaScript

If the numbers that you are trying to add are 10 and 12, if they resulting sum is supposed to be 22, then you should probably do it as

+10 + +12

And the result might be a string like 1012 if one or both of the numbers is a string.


+ has two uses. One is addition, the other however is string concatenation. If one or both of your variables is a string, then + will concatenate them.

You will need to use parseInt or parseFloat to turn a string into a number.


In Javascript the + operator can either perform addition or concatenation depending on the type of its operands. When numbers are used with + it uses addition, but when strings are used with + it concatenates (joins the strings) instead


One or both of the variables is a string instead of a number. This makes the + do string concatenation.

'2' + 2 === '22';  // true

2 + 2 === 4;  // true

The other arithmetic operators / * - will perform a toNumber conversion on the string(s).

'3' * '5' === 15;  // true

A quick way to convert a string to a number is to use the unary + operator.

+'2' + 2 === 4;  // true

...or with your variables:

+x + +y