From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../operators/operator_precedence/index.html | 343 +++++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/operators/operator_precedence/index.html (limited to 'files/pt-br/web/javascript/reference/operators/operator_precedence') diff --git a/files/pt-br/web/javascript/reference/operators/operator_precedence/index.html b/files/pt-br/web/javascript/reference/operators/operator_precedence/index.html new file mode 100644 index 0000000000..474dd3e536 --- /dev/null +++ b/files/pt-br/web/javascript/reference/operators/operator_precedence/index.html @@ -0,0 +1,343 @@ +--- +title: Precedência de Operadores +slug: Web/JavaScript/Reference/Operators/Operator_Precedence +tags: + - JavaScript + - precedência de operadores +translation_of: Web/JavaScript/Reference/Operators/Operator_Precedence +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resumo

+ +

A precedência de operadores determina a ordem em que os operadores são processados. Operadores com maior precedência são processados primeiro.

+ +

Um exemplo simples:

+ +
3 + 4 * 5 // returns 23
+
+ +

O operador de multiplicação ("*") tem maior precedência que o operador de adição ("+") e por isso será executado primeiro.

+ +

Associatividade

+ +

Associatividade determina a ordem em que operadores da mesma precedência são processados. Por exemplo, considere a expressão:

+ +
a OP b OP c
+
+ +

Associatividade à esquerda (esquerda para direita) significa que a expressão será processada como (a OP b) OP c, enquanto associatividade à direita (direita para esquerda) significa que será interpretada como a OP (b OP c). Operadores de atribuição são associativos à direita, então você pode escrever:

+ +
a = b = 5; 5 = b = a
+
+ +

com o resultado esperado que a e b tenham o valor 5. Isto é porque o operador de atribuição retorna o valor que ele atribuiu. Primeiro, b é definido com o valor 5. Então a é definido com o valor de b.

+ +

Tabela

+ +

A tabela seguinte está ordenada da mais alta (20) para a mais baixa (0) precedência.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PrecedênciaTipo do OperadorAssociatividadeOperadores individuais
20Agrupamenton/a( … )
19Acesso a Membroesquerda para direita… . …
Acesso a Membro Computadoesquerda para direita… [ … ]
new (com lista de argumentos)n/anew … ( … )
18Chamada a Funçãoesquerda para direita… ( … )
new (sem lista de argumentos)direita para esquerdanew …
17Incremento Pós-fixadon/a… ++
Decremento Pós-fixadon/a… --
16NÃO lógicodireita para esquerda! …
NÃO bit-a-bitdireita para esquerda~ …
Positivo Unáriodireita para esquerda+ …
Negativo Unáriodireita para esquerda- …
Incremento Pré-fixadodireita para esquerda++ …
Decremento Pré-fixadodireita para esquerda-- …
typeofdireita para esquerdatypeof …
voiddireita para esquerdavoid …
deletedireita para esquerdadelete …
15 +

Exponenciação

+
direita para esquerda… ** …
14Multiplicaçãoesquerda para direita… * …
Divisãoesquerda para direita… / …
Restoesquerda para direita… % …
13Adiçãoesquerda para direita… + …
Subtraçãoesquerda para direita… - …
12Deslocamento de bits para esquerdaesquerda para direita… << …
Deslocamento de bits para direitaesquerda para direita… >> …
Deslocamento de bits para direita, sem sinalesquerda para direita… >>> …
11Menor Queesquerda para direita… < …
Menor ou Igual aesquerda para direita… <= …
Maior Queesquerda para direita… > …
Maior ou Igual aesquerda para direita… >= …
inesquerda para direita… in …
instanceofesquerda para direita… instanceof …
10Igualdadeesquerda para direita… == …
Desigualdadeesquerda para direita… != …
Igualdade Estritaesquerda para direita… === …
Desigualdade Estritaesquerda para direita… !== …
9E bit-a-bitesquerda para direita… & …
8OU exclusivo bit-a-bitesquerda para direita… ^ …
7OU bit-a-bitesquerda para direita… | …
6E lógicoesquerda para direita… && …
5OU lógicoesquerda para direita… || …
4Condicionaldireita para esquerda… ? … : …
3Atribuiçãodireita para esquerda… = …
… += …
… -= …
… *= …
… /= …
… %= …
… <<= …
… >>= …
… >>>= …
… &= …
… ^= …
… |= …
2yielddireita para esquerdayield …
yield*yield* …
1Propagaçãon/a... …
0Vírgula / Sequênciaesquerda para direita… , …
+ +

 

-- cgit v1.2.3-54-g00ecf