Mientras realiza una operación, el precedencia alta Los operadores se consideran el operandos de precedencia menor operadores. Esto significa que, en una operación dada, el operador que tiene la precedencia más alta se evalúa primero.
Este artículo discutirá el laboral de Precedencia del operador en Javascript.
Precedencia del operador en JavaScript
Antes de escribir cualquier expresión en JavaScript, es importante conocer el orden en que se realizarán las operaciones adicionales, ya que asegura que alcance los resultados deseados.
Cada operador de JavaScript tiene un "nivel de importancia" o "Orden de precedencia"En comparación con otros operadores, por lo que los operadores con alta precedencia se ejecutan antes de los operadores de baja precedencia. Además, otro término involucrado en todo este procedimiento se conoce como "Asociatividad".
Asociatividad de operadores en JavaScript
La asociatividad de los operadores decide la dirección de las operaciones de dirección que pueden ser "de izquierda a derecha" o "De derecha a izquierda".
"de izquierda a derecha"Existe la asociatividad para el operadores aritméticos como adición, multiplicación, resta y división. En comparación, otros operadores como el booleano "NO"Operador y todo Operadores de Asignación estan basados en "De derecha a izquierda" asociatividad.
Ejemplo: Asociatividad de operadores en JavaScript
La resta es un excelente ejemplo de una operación en la que la asociatividad es importante. Por ejemplo, el resultado de restar "4 de 9"No es lo mismo que restar"9 de 4":
var x = 9 - 4;Niveles de precedencia del operador en JavaScript
La precedencia del operador en JavaScript se divide en 19 niveles diferentes. Echa un vistazo a la tabla dada a continuación para saber más sobre ellos:
Tipo de operador | Asociatividad | Operadores individuales | Orden de precedencia |
Agrupamiento | n / A | (...) | 19 |
Encadenamiento opcional | de izquierda a derecha | ?. | 18 |
Nuevo (con la lista de argumentos) | n / A | nuevo… (… ) | |
Acceso a los miembros | de izquierda a derecha | … .… | |
Acceso de miembro calculado | de izquierda a derecha | ... [...] | |
Llamada de función | de izquierda a derecha | ... (...) | |
nuevo (sin lista de argumentos) | De derecha a izquierda | nuevo… | 17 |
Incremento postfix | n / A | … ++ | dieciséis |
Disminución de la postfijo | … - | ||
Incremento de prefijo | De derecha a izquierda | ++… | 15 |
Bit a bit no (~) | … | ||
Unary plus (+) | +… | ||
Lógico no (!) | !… | ||
Negación unary (-) | -… | ||
Decremento de prefijo | -… | ||
vacío | vacío… | ||
esperar | esperar… | ||
borrar | borrar… | ||
tipo de | tipo de… | ||
Exponencia (**) | De derecha a izquierda | … ** .. | 14 |
Multiplicación (*) | de izquierda a derecha | … *.. | 13 |
Resto (%) | ... %.. | ||
División | … /.. | ||
Adición (+) | de izquierda a derecha | ... +.. | 12 |
Resta (-) | … -… | ||
Cambio de izquierda bit a bit (<<) | de izquierda a derecha | … <<… | 11 |
Bitwise Right Shift (>>) | … >> .. | ||
Bitwise Unsigned Right Shift (>>>) | … >>> .. | ||
Mayor que (>) | de izquierda a derecha | …> .. | 10 |
Menos de (>) | … <… | ||
Mayor o igual (> =) | …> = .. | ||
Menor o igual (<=) | … <=… | ||
en vez de | … en vez de… | ||
en | … en… | ||
Desigualdad (!=) | de izquierda a derecha | … !=… | 9 |
Desigualdad estricta (!==) | … !== .. | ||
Desigualdad estricta (===) | … === .. | ||
Igualdad (==) | … == .. | ||
Bit a bit y (&) | de izquierda a derecha | ... y .. | 8 |
Bitwise xor (^) | de izquierda a derecha | … ^.. | 7 |
Bit a bit o (|) | de izquierda a derecha | … |… | 6 |
Lógico y (&&) | de izquierda a derecha | ... && .. | 5 |
Operador de fusión nulo (??) | de izquierda a derecha | … ??… | 4 |
Lógico o (||) | de izquierda a derecha | … || .. | |
Operador condicional (ternario) | De derecha a izquierda | … ?…: .. | 3 |
Asignación | De derecha a izquierda | … = .. | 2 |
... += .. | |||
… -= .. | |||
… ** = .. | |||
… *= .. | |||
… /= .. | |||
... %= .. | |||
… <<=… | |||
… >> = .. | |||
… >>> = .. | |||
… & = .. | |||
… ^= .. | |||
… | = .. | |||
… && = .. | |||
… || = .. | |||
… ??=… | |||
producir | De derecha a izquierda | producir… | |
producir* | producir*… | ||
Secuencia / coma | de izquierda a derecha | …, .. | 1 |
Ejemplo: ¿Cómo funciona la precedencia del operador en JavaScript?
Considere la siguiente expresión:
4 + 5 - 10 + 7 * 4 + 3Hemos agregado tres instancias del "+"Operador de adición en la expresión anterior. Sin ninguna precedencia del operador, la expresión establecida puede producir un valor diferente; Sin embargo, lo resolveremos según el orden de precedencia.
Según la tabla dada en la sección anterior, el operador de multiplicación "*" tiene mayor precedencia que la precedencia de los operadores de adición y sustracción, por lo que se realizará primero. Los operadores de suma y sustracción tienen el mismo orden de precedencia, lo que significa que están en el mismo nivel, y JavaScript los evaluará de izquierda a derecha.
JavaScript realizará los siguientes pasos detrás de escena para evaluar la expresión dada:
En primer lugar, se multiplicará 7 * 4 que igual a "28"Y luego actualice la ecuación como:
4 + 5 - 10 + 28 + 3A continuación, la expresión se evaluará a partir de "LEft-to-derecha"Dirección, comenzando desde"4 + 5"Operación de adición que resulta"9":
9 - 10 + 28 + 3Entonces, "10"Se resta del"9"Que produce"-2" valor:
-1 + 28 + 3Después de hacerlo, "28"Será restado de"-1":
27 + 3En el último paso, la operación de adición se realiza para el número "27 + 3" lo que resulta en "30":
Hemos proporcionado la información esencial relacionada con el funcionamiento de la precedencia del operador en JavaScript. Puede explorar este tema más de acuerdo con sus requisitos.
Conclusión
En JavaScript, cada operador tiene un Orden de precedencia, que funciona de tal manera que los operadores con alta precedencia se ejecutan antes de los operadores de baja precedencia, y los operadores de alta precedencia se consideran los operadores de operadores de precedencia inferior. La precedencia del operador ayuda a evaluar una expresión matemática en la secuencia correcta. Este artículo sobre el funcionamiento de la precedencia del operador en JavaScript.