Prioridade de Operadores do JavaScript
- Página Anterior Expressões Regulares JS
- Próxima Página Exceções JS
A prioridade do operador (Operator Precedence) descreve a ordem de execução das operações em uma expressão aritmética.
A prioridade dos operadores de multiplicação (*) e divisão (/) é maior que a dos operadores de adição (+) e subtração (-).
Exemplo
Como na matemática tradicional, a multiplicação é feita primeiro:
let x = 100 + 50 * 3;
Quando usar parênteses, o cálculo é feito primeiro dentro dos parênteses:
let x = (100 + 50) * 3;
Operações com a mesma prioridade (como * e /) são calculadas da esquerda para a direita:
let x = 100 / 50 * 3;
Valor de prioridade do operador
A expressão entre parênteses é calculada antes da parte restante da expressão, e a função é executada antes do resultado ser usado na parte restante da expressão:
Prioridade | Operador | Descrição | Exemplo |
---|---|---|---|
18 | ( ) | Expressão de agrupamento | (100 + 50) * 3 |
17 | . | Propriedade pertence | person.name |
17 | [] | Propriedade pertence | person["name"] |
17 | ?. | Ligação opcional ES2020 | x ?. y |
17 | () | Chamada de função | myFunction() |
17 | new | Novo com parâmetros | new Date("June 5,2022") |
16 | new | Novo sem parâmetros | new Date() |
Operadores de incrementoO incremento pós-fixo é executado antes do incremento prefixado. |
|||
15 | ++ | Incremento pós-fixo | i++ |
15 | -- | Decremento pós-fixo | i-- |
14 | ++ | Incremento prefixado | ++i |
14 | -- | Decremento prefixado | --i |
Operador NOT |
|||
14 | ! | Negação lógica | !(x==y) |
14 | ~ | Negação bit a bit | ~x |
Operadores unários |
|||
14 | + | Adição unária | +x |
14 | - | Subtração unária | -x |
14 | typeof | Tipo de dados | typeof x |
14 | void | Avaliação vazia | void(0) |
14 | delete | Exclusão de propriedade | delete myCar.color |
Operadores aritméticosA operação de potência é executada antes da multiplicação. Multiplicação e divisão são executadas antes da adição e subtração. |
|||
13 | ** | Operação de potência ES2016 | 10 ** 2 |
12 | * | Multiplicação | 10 * 5 |
12 | / | Divisão | 10 / 5 |
12 | % | Resto da divisão | 10 % 5 |
11 | + | Adição | 10 + 5 |
11 | - | Subtração | 10 - 5 |
11 | + | Concatenação | "Bill" + "Gates" |
Operadores de deslocamento |
|||
10 | << | Deslocamento à esquerda | x << 2 |
10 | >> | Deslocamento à direita (com sinal) | x >> 2 |
10 | >>> | Deslocamento à direita (sem sinal) | x >>> 2 |
Operadores de relação |
|||
9 | in | Propriedade no objeto | "PI" in Math |
9 | instanceof | Instância de objeto | x instanceof Array |
Operadores de comparação |
|||
9 | < | Menor | x < y |
9 | <= | Menor ou igual | x <= y |
9 | > | Maior | x > y |
9 | >= | Maior ou igual | x >= Array |
8 | == | Igual | x == y |
8 | === | Igual estritamente | x === y |
8 | != | Diferente | x != y |
8 | !== | Diferente estritamente | x !== y |
Operadores de bit |
|||
7 | & | E bit a bit | x & y |
6 | ^ | Ou bit a bit exclusivo | x ^ y |
5 | | | Ou bit a bit | x | y |
Operadores lógicos |
|||
4 | && | Lógica e | x && y |
3 | || | Lógica ou | x || y |
3 | ?? | Combinação de valores nulos ES2020 | x ?? y |
Operador de combinação de condições (ternário) |
|||
2 | ? : | Condicional | ? "sim" : "não" |
Operador de AtribuiçãoAtribuição é executada após outras operações. |
|||
2 | = | Atribuição Simples | x = y |
2 | : | Atribuição de Ponto | x: 5 |
2 | += | Atribuição de Adição | x += y |
2 | -= | Atribuição de Subtração | x -= y |
2 | *= | Atribuição de Multiplicação | x *= y |
2 | **= | Atribuição de Exponenciação | x **= y |
2 | /= | Atribuição de Divisão | x /= y |
2 | %= | Atribuição de Resto | x %= y |
2 | <<= | Atribuição de Deslocamento à Esquerda | x <<= y |
2 | >>= | Atribuição de Deslocamento à Direita | x >>= y |
2 | >>>= | Deslocamento à Direita Sem Sinal | x >>>= y |
2 | &= | Atribuição de E Bit a Bit | x &= y |
2 | |= | Atribuição de OU Bit a Bit | x |= y |
2 | ^= | Atribuição de XOR Bit a Bit | x ^= y |
2 | &&= | Atribuição Lógica E | x &= y |
2 | ||= | Atribuição Lógica OU | x ||= y |
2 | => | Seta | x => y |
2 | yield | Pausar / Restaurar | yield x |
2 | yield* | Operador de Delegação yield* | Operador de Delegação yield* x |
2 | ... | Operador de Expansão | ... x |
1 | , | Vírgula | x, y |
- Página Anterior Expressões Regulares JS
- Próxima Página Exceções JS