Precedencia de operadores en JavaScript

La precedencia de operadores se refiere a la prioridad otorgada a los operadores al analizar una declaración que tiene más de un operador realizando operaciones en ella. Es importante asegurar el resultado correcto y también ayudar al compilador a comprender cuál debe ser el orden de las operaciones. Los operadores con prioridades más altas se resuelven primero. Pero a medida que se avanza en la lista, disminuye la prioridad y por ende su resolución.

Precedencia y asociatividad: la asociatividad en general establece que, independientemente del orden de los operandos para una operación determinada, el resultado sigue siendo el mismo. La precedencia se usa para decirle al compilador qué operaciones se deben realizar primero. Por ejemplo, considere tres números 2, 3 y 4. Ahora considere dos operaciones:

( 2 + 3 ) + 4 = 2 + ( 3 + 4 )
( 2 >= 3 ) or ( 1 != 4 )

La primera operación es la asociatividad donde el orden no importa. El segundo caso es la precedencia, donde para alcanzar el resultado deseado tiene que haber un orden adecuado en el que se realizarán las operaciones. 

La asociatividad no es un concepto singular, mientras que las operaciones de precedencia deben tratarse con asociatividad de izquierda a derecha o de derecha a izquierda. Esto depende completamente de la operación y le dice al analizador desde qué dirección debe comenzar la operación.

Ejemplo: 

// left-to-right associativity : division 
3/4
// right-to-left associativity : assignment 
a = 3 

Tabla de precedencia de operadores: la tabla de precedencia de operadores puede ayudar a conocer la precedencia de un operador en relación con otros operadores. A medida que se desciende en la tabla, la precedencia de estos operadores decrece entre sí, es decir, la prioridad de un operador es menor que la de los operadores que están por encima y mayor que la de los que están por debajo. Los operadores en la misma fila tienen la misma prioridad.

En esta tabla, 1 es la precedencia más alta y 19 es la precedencia más baja.

Precedencia  Operador Descripción Asociatividad Ejemplo
1 () Agrupamiento (1+2)
2 . Miembro de izquierda a derecha obj.función
[] Miembro de izquierda a derecha obj[“función”]
nuevo Crear nueva fecha()
() Llamada de función de izquierda a derecha función()
3 ++ incremento de sufijo yo ++
decremento de sufijo i-
4 ++ Incremento de prefijo De derecha a izquierda ++i
decremento de prefijo -i
! NO lógico !CIERTO
tipo de Escribe tipo de un
5 ** exponenciación De derecha a izquierda 4**2
6 * Multiplicación de izquierda a derecha 2*3
/ División 18/9
% Resto 4%2
7 + Suma de izquierda a derecha 2+4
Sustracción 4-2
8 <<  Shift izquierdo  de izquierda a derecha y<<2
>>  Giro a la derecha y>>2
>>>  Desplazamiento a la derecha sin firmar  y>>>2
9 Menos que de izquierda a derecha 3<4
<=  Menor o igual 3<=4
Mas grande que 4>3
>=  Mayor que o igual 4>=3
en En «PI» en MATEMÁTICAS
en vez de En vez de  Una instancia de B
10 == Igualdad de izquierda a derecha x==y
!= Desigualdad x!=y
=== estrictamente igual x===y
!== Estrictamente desigual x!==y
11 & Y bit a bit de izquierda a derecha x&y
12 ^ XOR bit a bit de izquierda a derecha x^y
13 | O bit a bit de izquierda a derecha x|y
14 && Y lógico de izquierda a derecha x&&y
15 || O lógico de izquierda a derecha x||y
dieciséis ? : Condicional De derecha a izquierda (x>y)?x:y
17   Asignación De derecha a izquierda x=5
+= x+=3
-= x = 3
*= x*=3
/= x/=3
%= x%=3
<<=  x<<=2
>>=  x>>=2
>>>=  x>>>=2
&= x&=y
^= x^=y
|= x|=y
18 rendir función de pausa  De derecha a izquierda rendimiento x
19 , Coma de izquierda a derecha x, y

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *