Precedência de operador
Precedência do operador é um conjunto de regras de JScript que controla a ordem em que o compilador executa operações ao avaliar uma expressão. Operações com uma precedência mais alta são realizadas antes daqueles com um menor. Por exemplo, a multiplicação é efetuada antes da adição.
Tabela de precedência
A tabela a seguir lista os operadores de JScript, ordenados do maior precedência mais baixa.
Precedência |
Ordem de avaliação |
Operador |
Descrição |
---|---|---|---|
15 |
esquerda para a direita |
., [], () |
Acesso de campo, a indexação de matriz, chamadas de função e o agrupamento de expressão |
14 |
direita para a esquerda |
+ +,-,-, ~,!, delete, novo, typeof, void |
Operadores unários, retornar o tipo de dados, criação de objetos, valores indefinidos |
13 |
esquerda para a direita |
*, /, % |
Multiplicação, divisão, divisão de módulo |
12 |
esquerda para a direita |
+, - |
Adição e a seqüência de concatenação, subtração |
11 |
esquerda para a direita |
<<, >>, >>> |
Mudança de bits |
10 |
esquerda para a direita |
<, < =, >, > =, instanceof |
Menor que, menor que ou igual, maior que, maior ou igual a, de instanceof |
9 |
esquerda para a direita |
==, !=, ===, !== |
Igualdade, desigualdade, igualdade estrita e desigualdade estrita |
8 |
esquerda para a direita |
& |
AND bit a bit |
7 |
esquerda para a direita |
^ |
XOR bit a bit |
6 |
esquerda para a direita |
| |
Bit a bit ou |
5 |
esquerda para a direita |
&& |
E lógico |
4 |
esquerda para a direita |
|| |
OR lógico |
3 |
direita para a esquerda |
?: |
Condicional |
2 |
direita para a esquerda |
=, OP= |
Atribuição de atribuição compostos |
1 |
esquerda para a direita |
, (vírgula) |
Avaliação de vários |
Parênteses em uma expressão alteram a ordem de avaliação, determinada pela precedência do operador. Isso significa que uma expressão entre parênteses é completamente avaliada antes de seu valor é usado no restante da expressão.
Por exemplo:
z = 78 * (96 - 3 + 45)
Há cinco operadores expressão anterior: =, *, (), -, and +. De acordo com a regras de precedência do operador, elas são avaliadas na seguinte ordem: (), -, +, *, =.
Avaliação da expressão dentro dos parênteses ocorre primeiro. Dentro dos parênteses, há um operador de adição e um operador de subtração. Os operadores têm a mesma precedência e são avaliados da esquerda para a direita. O número 3 é subtraído de 96 primeiro, resultando em 93. Em seguida, o número de 45 é adicionado para 93, resultando em um valor de 138.
Multiplicação ocorre a seguir. O número 78 é multiplicado pelo número 138, resultando em um valor de 10764.
Atribuição ocorre por último. O número 10764 é atribuído a z.