Precedencia de operadores
La precedencia de operadores es un conjunto de reglas de JScript que controla el orden en que el compilador realiza las operaciones cuando se evalúa una expresión. Las operaciones con mayor precedencia se realizan antes que las de menor prioridad. Por ejemplo, la multiplicación se realiza antes que la suma.
Tabla de precedencias
La tabla siguiente muestra una lista de los operadores de JScript, en orden de precedencia de mayor a menor.
Precedencia |
Orden de evaluación |
Operador |
Descripción |
---|---|---|---|
15 |
de izquierda a derecha |
., [], () |
Acceso a campos, indización de matrices, llamadas a funciones y agrupamiento de expresiones |
14 |
de derecha a izquierda |
++, --, -, ~, !, delete, new, typeof, void |
Operadores unarios, tipos de datos devueltos, creación de objetos, valores no definidos |
13 |
de izquierda a derecha |
*, /, % |
Multiplicación, división, división módulo |
12 |
de izquierda a derecha |
+, - |
Suma y concatenación de cadenas, resta |
11 |
de izquierda a derecha |
<<, >>, >>> |
Desplazamiento bit a bit |
10 |
de izquierda a derecha |
<, <=, >, >=, instanceof |
Menor que, menor o igual que, mayor que, mayor o igual que, instanceof |
9 |
de izquierda a derecha |
==, !=, ===, !== |
Igualdad, desigualdad, igualdad estricta y desigualdad estricta |
8 |
de izquierda a derecha |
& |
AND bit a bit |
7 |
de izquierda a derecha |
^ |
XOR bit a bit |
6 |
de izquierda a derecha |
| |
OR bit a bit |
5 |
de izquierda a derecha |
&& |
AND lógico |
4 |
de izquierda a derecha |
|| |
OR lógico |
3 |
de derecha a izquierda |
?: |
Condicional |
2 |
de derecha a izquierda |
=, OP= |
Asignación, asignación compuesta |
1 |
de izquierda a derecha |
, (coma) |
Evaluación múltiple |
Los paréntesis en una expresión modifican el orden de evaluación determinado por la precedencia de operador. Esto significa que una expresión encerrada entre paréntesis se evalúa por completo antes de usar su valor en el resto de la expresión.
Por ejemplo:
z = 78 * (96 - 3 + 45)
En la expresión anterior hay cinco operadores: =, *, (), - y +. Según las normas de precedencia de operadores, se evalúan en el siguiente orden: (), -, +, *, =.
En primer lugar se realiza la evaluación de la expresión que está encerrada entre paréntesis. Dentro de los paréntesis, hay un operador de suma y otro de resta. Ambos operadores tienen la misma precedencia y se evalúan de izquierda a derecha. El número 3 se resta primero de 96, lo que da como resultado 93. Después el número 45 se multiplica por 93, con lo que se obtiene un resultado de 138.
A continuación se realiza la multiplicación: El número 78 se multiplica por 138, con lo que se obtiene un resultado igual a 10764.
Por último se realiza la asignación: El número 10764 se asigna a z.