Author: Michal Szymanski
JavaScript Arithmetic Operators
Arithmetic operators perform arithmetic on numbers (literals or variables).
Operator | Description |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
** | Exponentiation (ES6) |
/ | Division |
% | Modulus (Remainder) |
++ | Increment |
-- | Decrement |
Arithmetic Operations
A typical arithmetic operation operates on two numbers.
The two numbers can be literals:
var x = 100 + 50;
or variables:
var x = a + b;
or expressions:
var x = (100 + 50) * a;
Operators and Operands
The numbers (in an arithmetic operation) are called operands.
The operation (to be performed between the two operands) is defined by an operator.
Operand | Operator | Operand |
---|---|---|
100 | + | 50 |
Adding
The addition operator (+
) adds numbers:
var x = 5;
var y = 2;
var z = x + y; // Result 7
Subtracting
The subtraction operator (-
) subtracts numbers.
var x = 5;
var y = 2;
var z = x - y; // Result 3
Multiplying
The multiplication operator (*
) multiplies numbers.
var x = 5;
var y = 2;
var z = x * y; // Result 10
Dividing
The division operator (/
) divides numbers.
var x = 5;
var y = 2;
var z = x / y; // Result 2.5
Remainder
The modulus operator (%
) returns the division remainder.
var x = 5;
var y = 2;
var z = x % y; // Result 1
In arithmetic, the division of two integers produces a quotient and a remainder.
In mathematics, the result of a modulo operation is the remainder of an
arithmetic division.
Incrementing
The increment operator (++
) increments numbers.
var x = 5;
x++; // This will increase the value of x by 1
var z = x; // Result 6
Decrementing
The decrement operator (--
) decrements numbers.
var x = 5;
x--; // This will decrease the value of x by 1
var z = x; // Result 4
Exponentiation
The exponentiation operator (**
) raises the first operand to the power of
the second operand.
var x = 5;
var z = x ** 2; // Result 25
x ** y produces the same result as Math.pow(x,y)
:
var x = 5;
var z = Math.pow(x,2); // Result 25
Operator Precedence
Operator precedence describes the order in which operations are performed in an arithmetic expression.
var x = 100 + 50 * 3; // Result 250
Is the result of example above the same as 150 * 3, or is it the same as 100 + 150?
Is the addition or the multiplication done first?
As in traditional school mathematics, the multiplication is done first.
Multiplication (*
) and division (/
) have higher precedence than
addition (+
) and subtraction (-
).
And (as in school mathematics) the precedence can be changed by using parentheses:
var x = (100 + 50) * 3; // Result 450
When using parentheses, the operations inside the parentheses are computed first.
When many operations have the same precedence (like addition and subtraction), they are computed from left to right:
var x = 100 + 50 - 3; // Result 147
Exercises - test your knowledge
Exercise 1
Multiply 10
with 5
, and alert the result:
alert(10 * 5);
Exercise 2
Divide 10
by 2
, and alert the result:
alert(10 / 2);
Exercise 3
Alert the remainder when 15
is divided by 9
.
alert (15 % 9);
Exercise 4
x = 10;
y = 5
Use the correct assignment operator that will result in x
being 15
(same as x = x + y
).
x = 10;
y = 5;
x += y;
Exercise 5
x = 10;
y = 5
Use the correct assignment operator that will result in x
being 50
(same as x = x * y
).
x = 10;
y = 5;
x *= y
Previous lesson Next lesson
Spread the word: