Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Precedencia de operadores

Sumario

La precedencia de operadores determina el orden en el cual los operadores son evaluados. Los operadores con mayor precedencia son evaluados primero.

Ejemplo:

3 + 4 * 5 // retorna 23	 

El operador de multiplicación ("*") tiene una precedencia mas alta que el operador de suma ("+") y por eso sera evaluado primero.

Asociatividad

La asociatividad determina el orden en el cual los operadores con el mismo nivel de precedencia son procesados. Por ejemplo:

a OP b OP c

La asociatividad de izquierda a derecha significa que esa expresión es procesada como (a OP b) OP c, mientras que la asociatividad de derecha a izquierda significa que es procesada como a OP (b OP c). Los operadores de asignación tienen asociatividad de derecha a izquierda, por lo que puedes escribir:

a = b = 5; 5 = b = a 

para asignar 5 a las dos variables. Esto es porque el operador de asignación retorna el valor que asignó. Primero b es inicializada a 5. Despues a es inicializada al valor de b.

Tabla

La siguiente tabla esta ordenada de la precedencia más alta (0) a la más baja (18).

Precedencia Tipo de operador Asociatividad Operador
0 grouping n/a ()
1 member left-to-right .
[]
new n/a new()
2 function call left-to-right ()
new right-to-left new
3 increment n/a ++
decrement n/a --
4 logical-not right-to-left !
bitwise not right-to-left ~
unary + right-to-left +
unary negation right-to-left -
typeof right-to-left typeof
void right-to-left void
delete right-to-left delete
5 multiplication left-to-right *
division left-to-right /
modulus left-to-right %
6 addition left-to-right +
subtraction left-to-right -
7 bitwise shift left-to-right <<
>>
>>>
8 relational left-to-right <
<=
>
>=
in left-to-right in
instanceof left-to-right instanceof
9 equality left-to-right ==
!=
===
!==
10 bitwise-and left-to-right &
11 bitwise-xor left-to-right ^
12 bitwise-or left-to-right |
13 logical-and left-to-right &&
14 logical-or left-to-right ||
15 conditional right-to-left ?:
16 assignment right-to-left =
+=
-=
*=
/=
%=
<<=
>>=
>>>=
&=
^=
|=
17 yield right-to-left yield
18 comma left-to-right ,

Etiquetas y colaboradores del documento

 Colaboradores en esta página: fscholz, teoli, aerotrink
 Última actualización por: fscholz,