English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La prioridad de los operadores determina la forma en que se analizan entre sí.
El operador con mayor prioridad se convertirá en operando del operador con menor prioridad.
En el siguiente ejemplo, la prioridad de la multiplicación es mayor que la de la suma, lo que determina el resultado de la operación.
// Primero se debe3multiplicar5, luego sumar10 var x = 10 + 3 * 5;Prueba para ver‹/›
Por el contrario, si queremos ejecutar primero la operación de suma, debemos agruparla en paréntesis, que siempre tienen la prioridad más alta.
// Primero se debe10y3sumar, luego multiplicar5 var x = (10 + 3) * 5;Prueba para ver‹/›
Cuando se utilizan paréntesis, primero se deben calcular las operaciones dentro de ellos.
Cuando muchos operadores tienen la misma prioridad (por ejemplo, suma y resta), se calculan de izquierda a derecha:
var x = 10 + 3 - 5;Prueba para ver‹/›
La evaluación de expresiones también se ve afectada por la asociatividad de los operadores.
La asociatividad indica la dirección en la que se evalúa toda la expresión (de derecha a izquierda o de izquierda a derecha).
Si en una expresión aparecen dos o más operadores con la misma prioridad, ¿cuál se calculará primero? La asociatividad de los operadores responde a esta pregunta.
Consulte la tabla a continuación para resolver cualquier problema de asociación o prioridad en JavaScript
Operador | Uso de descripción | Combinación de operadores | Prioridad de operadores |
---|---|---|---|
() | Método/Llamada de función, agrupación | De izquierda a derecha | Máximo- 1 |
[] | Acceso a arrays | De izquierda a derecha | 1 |
. | Acceso a propiedades de objeto | De izquierda a derecha | 1 |
++ | Incremento | De derecha a izquierda | 2 |
-- | Decremento | De derecha a izquierda | 2 |
- | Resta | De derecha a izquierda | 2 |
! | No lógico | De derecha a izquierda | 2 |
~ | No negativo bit a bit | De derecha a izquierda | 2 |
delete | Eliminar valores de array o propiedades de objeto | De derecha a izquierda | 2 |
new | Crear un objeto | De derecha a izquierda | 2 |
typeof | Tipo de datos de retorno | De derecha a izquierda | 2 |
void | No especificar el valor a retornar | De derecha a izquierda | 2 |
/ | División | De izquierda a derecha | 3 |
* | Multiplicación | De izquierda a derecha | 3 |
% | Módulo | De izquierda a derecha | 3 |
+ | Adición | De izquierda a derecha | 4 |
+ | Conexión de cadenas | De izquierda a derecha | 4 |
- | Resta | De izquierda a derecha | 4 |
>>> | Desplazamiento a la derecha bit a bit | De izquierda a derecha | 5 |
<< | Desplazamiento a la izquierda bit a bit | De izquierda a derecha | 5 |
>, >= | Mayor, mayor o igual | De izquierda a derecha | 6 |
<, <= | Menor, menor o igual | De izquierda a derecha | 6 |
== | Igual | De izquierda a derecha | 7 |
!= | Distinto | De izquierda a derecha | 7 |
=== | Igual/Igual estrictamente (tipos de datos iguales) | De izquierda a derecha | 7 |
!== | Diferente/No igual estrictamente (tipos de datos diferentes) | De izquierda a derecha | 7 |
& | AND bit a bit | De izquierda a derecha | 8 |
^ | XOR bit a bit | De izquierda a derecha | 9 |
| | O bit a bit | De izquierda a derecha | 10 |
&& | Y lógico | De izquierda a derecha | 11 |
|| | O lógico | De izquierda a derecha | 12 |
?: | Rama condicional | De izquierda a derecha | 13 |
= | Asignación | De derecha a izquierda | 14 |
*=, /=, %=, +=,, -=, <<=, >>=, >>>=, &=, ^=, |= | Asignación según el operador anterior | De derecha a izquierda | 14 |
, | Evaluación múltiple | De izquierda a derecha | Mínimo:15 |