Aritmética do JavaScript

Situações tipicas de processamento de números são operações aritméticas.

Operadores aritméticos do JavaScript

Operadores aritméticos executam operações aritméticas em números (textos ou variáveis).

operador descrição
+ Adição
- Subtração
* Multiplicação
** Potência (ES2016)
/ Divisão
% Coeficiente
++ Incremento
-- Decremento

Operadores aritméticos

Operações aritméticas tipicas operam sobre dois números.

Esses dois números podem ser literals:

instância

var x = 7 + 8;

experimente você mesmo

ou variável:

instância

var x = a + b;

experimente você mesmo

ou expressão:

instância

var x = (7 + 8) * a;

experimente você mesmo

Operadores e operandos

Em operações aritméticas, os números são chamados deOperando.

A operação (executada entre dois operandos) é feita poroperadorDefinição.

Operando operador Operando
7 + 8

Adição

AdiçãoO operador (+) Adendo:

var x = 7;
var y = 8;
var z = x + y; 

experimente você mesmo

Subtração

SubtraçãoO operador (-) Minuendo.

var x = 7;
var y = 8;
var z = x - y; 

experimente você mesmo

Multiplicação

MultiplicaçãoO operador (*) Multiplicador.

var x = 7;
var y = 8;
var z = x * y; 

experimente você mesmo

Divisão

DivisãoO operador (/) Divisor.

var x = 7;
var y = 2;
var z = x / y; 

experimente você mesmo

Coeficiente

CoeficienteO operador (%) Retorna o resto da divisão.

var x = 7;
var y = 2;
var z = x % y; 

experimente você mesmo

Comentário:Na aritmética, a divisão de dois inteiros gera um quociente e um resto.

Comentário:Em matemática, o resultado da operação módulo é o resto da divisão aritmética.

Incremento

IncrementoO operador (++) Incrementa o valor numérico.

var x = 7;
x++;
var z = x;

experimente você mesmo

Decremento

DecrementoO operador (--) Decrementa o valor numérico.

var x = 7;
x--;
var z = x; 

experimente você mesmo

Potência

O operador de potência (**) eleva o primeiro operando à potência do segundo operando.

instância

var x = 5;
var z = x ** 2;          // Resultado é 25

experimente você mesmo

O resultado de x ** y é o mesmo que Math.pow(x,y):

instância

var x = 5;
var z = Math.pow(x,2);   // O resultado é 25

experimente você mesmo

Prioridade do operador

A prioridade do operador (Operator precedence) descreve a ordem das operações executadas em uma expressão aritmética.

instância

var x = 200 + 50 * 2;

experimente você mesmo

O resultado do exemplo é 250 * 2 ou 200 + 100?

É prioridade a multiplicação ou a adição?

Na matemática tradicional da escola, a multiplicação é prioritária.

multiplicação (*)e divisão (%)do que adição (+)e subtração (-)tem uma prioridade maiorprioridade.

Ao mesmo tempo, (como na matemática da escola), é possível mudar a prioridade usando parênteses:

instância

var x = (200 + 50) * 2;

experimente você mesmo

Quando se usa parênteses, os operadores dentro dos parênteses são calculados primeiro.

Quando vários operadores têm a mesma prioridade (por exemplo, adição e subtração), a computação deles é feita da esquerda para a direita:

instância

var x = 200 + 50 - 2;

experimente você mesmo

valor de prioridade do operador do JavaScript

valor operador descrição instância
20 ( ) grupamento de expressão (3 + 4)
       
19 . membro person.name
19 [] membro person["name"]
19 () chamada de função myFunction()
19 new criar new Date()
       
17 ++ aumento pós-fixo i++
17 -- decremento pós-fixo i--
       
16 ++ aumento prefixado ++i
16 -- decremento prefixado --i
16 ! Negação lógica !(x==y)
16 typeof tipo typeof x
       
15 ** potência (ES7) 10 ** 2
       
14 * multiplicação 10 * 5
14 / divisão 10 / 5
14 % divisão modular 10 % 5
       
13 + adição 10 + 5
13 - subtração 10 - 5
       
12 << deslocamento à esquerda x << 2
12 >> deslocamento à direita x >> 2
12 >>> deslocamento à direita (sem sinal) x >>> 2
       
11 < menor x < y
11 <= menor ou igual x <= y
11 > maior x > y
11 >= maior ou igual x >= y
11 in propriedade do objeto "PI" in Math
11 instância de instância do objeto instância de Array
       
10 == igual x == y
10 === igual estritamente x === y
10 != Diferente x != y
10 !== Diferente strictamente x !== y
       
9 & E bit a bit x & y
8 ^ XOR bit a bit x ^ y
7 | OU bit a bit x | y
6 && E lógico x && y
5 || Negação lógica x || y
4 ? : Condicional ? "Sim" : "Não"
       
3 = Atribuição x = y
3 += Atribuição x += y
3 -= Atribuição x -= y
3 *= Atribuição x *= y
3 %= Atribuição x %= y
3 <<= Atribuição x <<= y
3 >>= Atribuição x >>= y
3 >>>= Atribuição x >>>= y
3 &= Atribuição x &= y
3 ^= Atribuição x ^= y
3 |= Atribuição x |= y
       
2 yield Função pausada yield x
1 , Vírgula 7, 8

Atenção:Verde pálido indica técnicas experimentais ou sugeridas (ECMASScript 2016 ou ES7)

Dica:A expressão entre parênteses será completamente calculada antes de ser usada no resto da expressão.