Prioridad de operadores de JavaScript

La prioridad describe el orden de ejecución de las operaciones en la expresión aritmética.

Ejemplo

En la matemática tradicional, se ejecuta primero la multiplicación:

let x = 100 + 50 * 3;

Prueba personalmente

Al usar paréntesis, se calcula primero la operación dentro de los paréntesis:

let x = (100 + 50) * 3;

Prueba personalmente

Cuando los operadores tienen la misma prioridad (como + y -), se calculan de izquierda a derecha:

let x = 100 / 50 * 3;

Prueba personalmente

Valor de prioridad del operador

Expresión entre paréntesisantesSe calculan las expresiones restantes.

La función se utiliza en el resultado para otras expresionesAntesejecutar.

Valor Operador Descripción Ejemplo
18 ( ) Grupo de expresiones (100 + 50) * 3
17 . Miembro car.name
17 [] Miembro car["name"]
17 ?. Cadena opcional ES2020 x ?. y
17 () Llamada a función myFunction()
17 new Creación con parámetros new Date("June 6,2025")
16 new Creación sin parámetros new Date()

Operador de incremento

Incremento postfijoantesEjecución del incremento prefijo.

15 ++ Incremento postfijo i++
15 -- Decremento postfijo i--
14 ++ Incremento prefijo ++i
14 -- Decremento prefijo --i

Operador NOT

14 ! NOT lógico (x==y)
14 ~ NOT ~x

operadores unoarios

14 + suma unoaria +x
14 - menos unoario -x
14 typeof tipo de datos typeof x
14 void evaluar Void void(0)
14 delete eliminación de propiedad delete myCar.color

operadores aritméticos

potenciaantesejecutar multiplicación primero.

multiplicación y divisiónantesejecutar adición y sustracción primero.

13 ** potencia ES2016 10 ** 2
12 * multiplicación 10 * 5
12 / división 10 / 5
12 % residuo 10 % 5
11 + adición 10 + 5
11 - sustracción 10 - 5
11 + conexión "Bill" + "Gates"

operadores de desplazamiento

10 << desplazamiento a la izquierda x << 2
10 >> desplazamiento a la derecha (con signo) x >> 2
10 >>> desplazamiento a la derecha (sin signo) x >>> 2

operadores de relación

9 in propiedad del objeto "PI" in Math
9 instanceof instancia de objeto x instanceof Array

operadores de comparación

9 < menor que x < y
9 <= menor o igual que x <= y
9 > mayor que x > y
9 >= mayor o igual que x >= Array
8 == igual x == y
8 === igual estrictamente x === y
8 != no igual x != y
8 !== no igual estrictamente x !== y

operadores bit a bit

7 & AND bit a bit x & y
6 ^ XOR bit a bit x ^ y
5 | OR bit a bit x | y

operadores lógicos

4 && AND lógico x && y
3 || OR lógico x || y
3 ?? combinación de valores nulos ES2020 x ?? y

operador condicional (ternario)

2 ? : condicional ? "sí" : "no"

operador de asignación

asignación en otras operacionesdespuésejecutar.

2 = asignación simple x = y
2 += asignación de adición x += y
2 -= asignación de sustracción x -= y
2 *= asignación de multiplicación x *= y
2 **= asignación de potencia x **= y
2 /= asignación de división x /= y
2 %= asignación de residuo x %= y
2 <<= asignación de desplazamiento a la izquierda x <<= y
2 >>= asignación de desplazamiento a la derecha x >>= y
2 >>= desplazamiento a la derecha sin signo x >>>= y
2 &= AND asignación x &= y
2 |= OR asignación x |= y
2 ^= Asignación de XOR bit a bit x ^= y
2 &= Asignación lógica AND x &= y
2 ||= Asignación lógica OR x ||= y
2 : Asignación de dos puntos x : 5
2 => Flecha x => y
2 yield Pausa/Reanudación yield x
2 yield* Delegación yield* x
2 ... Extensión ...x
1 , Coma x , y