The JavaScript Arithmetic operators
Performing math operations and calculus is a very common thing to do with any programming language. JavaScript offers several operators to help us work with numbers
Performing math operations and calculus is a very common thing to do with any programming language.
JavaScript offers several operators to help us work with numbers.
- Addition (+)
- Subtraction (-)
- Division (/)
- Remainder (%)
- Multiplication (*)
- Exponentiation (**)
- Increment (++)
- Decrement (
--) - Unary negation (-)
- Unary plus (+)
Addition (+)
const three = 1 + 2
const four = three + 1
The + operator also serves as string concatenation if you use strings, so pay attention:
const three = 1 + 2
three + 1 // 4
'three' + 1 // three1
Subtraction (-)
const two = 4 - 2
Division (/)
Returns the quotient of the first operator and the second:
const result = 20 / 5 //result === 4
const result = 20 / 7 //result === 2.857142857142857
If you divide by zero, JavaScript does not raise any error but returns the Infinity value (or -Infinity if the value is negative).
1 / 0 - //Infinity
1 / 0 //-Infinity
Remainder (%)
The remainder is a very useful calculation in many use cases:
const result = 20 % 5 //result === 0
const result = 20 % 7 //result === 6
A remainder by zero is always NaN, a special value that means “Not a Number”:
;(1 % 0) - //NaN
(1 % 0) //NaN
Multiplication (*)
Multiply two numbers
1 * 2 - //2
1 * 2 //-2
Exponentiation (**)
Raise the first operand to the power second operand
1 ** 2 //1
2 ** 1 //2
2 ** 2 //4
2 ** 8 //256
8 ** 2 //64
The exponentiation operator ** is the equivalent of using Math.pow(), but brought into the language instead of being a library function.
Math.pow(4, 2) == 4 ** 2
This feature is a nice addition for math intensive JS applications.
The ** operator is standardized across many languages including Python, Ruby, MATLAB, Lua, Perl and many others.
Increment (++)
Increment a number. This is a unary operator, and if put before the number, it returns the value incremented.
If put after the number, it returns the original value, then increments it.
let x = 0
x++ //0
x //1
++x //2
Decrement (--)
Works like the increment operator, except it decrements the value.
let x = 0
x-- //0
x //-1
--x //-2
Unary negation (-)
Return the negation of the operand
let x = 2 - x //-2
x //2
Unary plus (+)
If the operand is not a number, it tries to convert it. Otherwise if the operand is already a number, it does nothing.
let x = 2 + x //2
x = '2' + x //2
x = '2a' + x //NaN download all my books for free
- javascript handbook
- typescript handbook
- css handbook
- node.js handbook
- astro handbook
- html handbook
- next.js pages router handbook
- alpine.js handbook
- htmx handbook
- react handbook
- sql handbook
- git cheat sheet
- laravel handbook
- express handbook
- swift handbook
- go handbook
- php handbook
- python handbook
- cli handbook
- c handbook
subscribe to my newsletter to get them
Terms: by subscribing to the newsletter you agree the following terms and conditions and privacy policy. The aim of the newsletter is to keep you up to date about new tutorials, new book releases or courses organized by Flavio. If you wish to unsubscribe from the newsletter, you can click the unsubscribe link that's present at the bottom of each email, anytime. I will not communicate/spread/publish or otherwise give away your address. Your email address is the only personal information collected, and it's only collected for the primary purpose of keeping you informed through the newsletter. It's stored in a secure server based in the EU. You can contact Flavio by emailing [email protected]. These terms and conditions are governed by the laws in force in Italy and you unconditionally submit to the jurisdiction of the courts of Italy.