Aritmética JS
Operadores aritméticos de JavaScript
Os operadores aritméticos realizam operações aritméticas em números (literais ou variáveis).
Operador | Descrição |
---|---|
+ | Adição |
- | Subtração |
* | Multiplicação |
** | Exponenciação ( ES2016 ) |
/ | Divisão |
% | Módulo (restante) |
++ | |
- | Redução |
Operaçoes aritimeticas
Uma operação aritmética típica opera em dois números.
Os dois números podem ser literais:
Exemplo:
let x = 100 + 50;
ou variáveis:
Exemplo:
let x = a + b;
ou expressões:
Exemplo:
let x = (100 + 50) * a;
Operadores e operandos
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 |
Adicionando
O operador de adição ( +) adiciona números:
Exemplo:
let x = 5;
let y = 2;
let z = x + y;
Subtraindo
O operador de subtração ( -) subtrai números.
Exemplo:
let x = 5;
let y = 2;
let z = x - y;
Multiplicando
O operador de multiplicação ( *) multiplica números.
Exemplo:
let x = 5;
let y = 2;
let z = x * y;
Dividindo
O operador de divisão ( /) divide os números.
Exemplo:
let x = 5;
let y = 2;
let z = x / y;
Restante
O operador de módulo ( %) retorna o resto da divisão.
Exemplo:
let x = 5;
let y = 2;
let z = x % y;
Na 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.
Incrementando
O operador de incremento ( ++) incrementa os números.
Exemplo:
let x = 5;
x++;
let z = x;
Decrementar
O operador de decremento ( --) diminui os números.
Exemplo:
let x = 5;
x--;
let z = x;
Exponenciação
O operador de exponenciação ( **) eleva o primeiro operando à potência do segundo operando.
Exemplo:
let x = 5;
let z = x ** 2; // result is 25
x ** y produz o mesmo resultado que Math.pow(x,y):
Exemplo:
let x = 5;
let z = Math.pow(x,2); // result is 25
operador precedente
A precedência do operador descreve a ordem em que as operações são realizadas em uma expressão aritmética.
Exemplo:
let x = 100 + 50 * 3;
O resultado do exemplo acima é igual a 150 * 3 ou igual a 100 + 150?
A adição ou multiplicação é feita primeiro?
Como na matemática escolar tradicional, a multiplicação é feita primeiro.
Multiplicação ( *) e divisão ( /) têm precedência mais alta do que adição ( +) e subtração ( -).
E (como na matemática escolar) a precedência pode ser alterada usando parênteses:
Exemplo:
let x = (100 + 50) * 3;
Ao usar parênteses, as operações dentro dos parênteses são calculadas primeiro.
Quando muitas operações têm a mesma precedência (como adição e subtração), elas são calculadas da esquerda para a direita:
Exemplo:
let x = 100 + 50 - 3;
Valores de precedência do operador JavaScript
Entradas em vermelho claro indicam ECMAScript 2015 (ES6) ou superior.
Valor | Operador | Descrição | Exemplo |
---|---|---|---|
21 | () | Agrupamento de expressão | (3 + 4) |
20 | . | Membro | person.name |
20 | [] | Membro | pessoa [" nome "] |
20 | () | Chamada de função | myFunction () |
20 | novo | Criar | nova data () |
18 | ++ | Incremento Postfix | i ++ |
18 | - | Redução do Postfix | i-- |
17 | ++ | Incremento do prefixo | ++ i |
17 | - | Diminuição do prefixo | --i |
17 | ! | Lógico, não | ! (x == y) |
17 | typeof | Tipo | typeof x |
16 | ** | Exponenciação (ES2016) | 10 ** 2 |
15 | * | Multiplicação | 10 * 5 |
15 | / | Divisão | 5/10 |
15 | % | Restante da Divisão | 10% 5 |
14 | + | Adição | 10 + 5 |
14 | - | Subtração | 10 - 5 |
13 | < < | Shift para a esquerda | x < < 2 |
13 | > > | Deslocar para a direita | x > > 2 |
13 | > > > | Shift para a direita (sem sinal) | x > > > 2 |
12 | < | Menos de | x < y |
12 | < = | Menor ou igual | x < = y |
12 | > | Maior que | x > y |
12 | > = | Maior ou igual | x > = y |
12 | em | Propriedade no objeto | "PI" em matemática |
12 | instância | Instância do objeto | instância da matriz |
11 | == | Igualdade | x == y |
11 | === | Igualdade estrita | x === y |
11 | ! = | Desiguais | x! = y |
11 | ! == | Estritamente desigual | x! == y |
10 | & | E bit a bit | x & y |
9 | ^ | XOR bit a bit | x ^ y |
8 | | | Bitwise OU | x | y |
7 | & & | Lógico E | x & & y |
6 | || | Lógico OU | x || y |
5 | ?? | Coalescência nula | x ?? y |
4 | ? : | Condição | ? "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 | rendimento | Função de pausa | rendimento x |
1 | , | Vírgula | 5, 6 |
Fonte: w3schools