Os operadores aritméticos realizam aritmética em números (literais ou variáveis).
Adição
Subtração
Multiplicação
Exponenciação (ES2016)
Divisão
Módulo (Remanescente)
Incremento
Diminuir
Uma operação aritmética típica opera com dois números.
Os dois números podem ser literais:
let x = 100 + 50;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arithmetic</h2>
<p>A typical arithmetic operation takes two numbers and produces a new number.</p>
<p id="demo"></p>
<script>
let x = 100 + 50;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
ou variáveis:
let x = a + b;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arithmetic</h2>
<p>A typical arithmetic operation takes two numbers (or variables) and produces a new number.</p>
<p id="demo"></p>
<script>
let a = 100;
let b = 50;
let x = a + b;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
ou expressões:
let x = (100 + 50) * a;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Arithmetic Operations</h2>
<p>A typical arithmetic operation takes two numbers (or expressions) and produces a new number.</p>
<p id="demo"></p>
<script>
let a = 3;
let x = (100 + 50) * a;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Os números (em uma operação aritmética) são chamados de operandos.
A operação (a ser realizada entre os dois operandos) é definida por um operador.
Operand | Operator | Operand |
---|---|---|
100 | + | 50 |
O operador adição (+
) adiciona números:
let x = 5;
let y = 2;
let z = x + y;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The + Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x + y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
O operador subtração (-
) subtrai números.
let x = 5;
let y = 2;
let z = x - y;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The - Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x - y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
O operador multiplicação (*
) multiplica números.
let x = 5;
let y = 2;
let z = x * y;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The * Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x * y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
O operador divisão (/
) divide números.
let x = 5;
let y = 2;
let z = x / y;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The / Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x / y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
O operador módulo (%
) retorna o resto da divisão.
let x = 5;
let y = 2;
let z = x % y;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The % Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x % y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Em aritmética, a divisão de dois inteiros produz um quociente e um resto.
Em matemática, o resultado de uma operação de módulo é o resto de uma divisão aritmética.
O operador incremento (++
) incrementa números.
let x = 5;
x++;
let z = x;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The ++ Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
x++;
let z = x;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
O operador decrement (--
) diminui os números.
let x = 5;
x--;
let z = x;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The -- Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
x--;
let z = x;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
O operador exponenciação (**
) eleva o primeiro operando à potência do segundo operando.
let x = 5;
let z =
x ** 2;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The ** Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
document.getElementById("demo").innerHTML = x ** 2;
</script>
</body>
</html>
x ** y produz o mesmo resultado que Math.pow(x,y)
:
let x = 5;
let z =
Math.pow(x,2);
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Math.pow()</h2>
<p id="demo"></p>
<script>
let x = 5;
document.getElementById("demo").innerHTML = Math.pow(x,2);
</script>
</body>
</html>
A precedência do operador descreve a ordem em que as operações são executadas uma expressão aritmética.
let x = 100 + 50 * 3;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>Multiplication has precedence over addition.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 + 50 * 3;
</script>
</body>
</html>
O resultado do exemplo acima é igual a 150 * 3 ou é igual a 100 + 150?
A adição ou a multiplicação são feitas primeiro?
Tal como na matemática escolar tradicional, a multiplicação é feita primeiro.
Multiplicação (*
) e divisão (/
) têm maior precedência do que adição (+
) e subtração (-
).
E (como na matemática escolar) a precedência pode ser alterada usando parênteses.
Ao usar parênteses, as operações dentro dos parênteses são calculadas primeiro:
let x = (100 + 50) * 3;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>Multiplication has precedence over addition.</p>
<p>But parenthesis has precedence over multiplication.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = (100 + 50) * 3;
</script>
</body>
</html>
Quando muitas operações têm a mesma precedência (como adição e subtração ou multiplicação e divisão), eles são calculados da esquerda para certo:
let x = 100 + 50 - 3;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>When many operations has the same precedence, they are computed from left to right.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 + 50 - 3;
</script>
</body>
</html>
let x = 100 / 50 * 3;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Operator Precedence</h2>
<p>When many operations has the same precedence, they are computed from left to right.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 / 50 * 3;
</script>
</body>
</html>
Para obter uma lista completa de valores de precedência de operador, acesse:
Valores de precedência do operador JavaScript.