- Aritméticos.
- A nivel de bits.
- Relacionales o de comparación.
- Operadores lógicos.
- De incremento/decremento.
- Concatenación.
Operadores aritméticos.
Los operadores aritméticos son básicamente: el operador de asignación (=), el de suma (+), el de resta o signo negativo (-), el de multipliación (*), el de división (/) y el de módulo o residuo de división (%).
Ejemplos:
var x = 5;
var y = 2;
var r;
r = x + y; //El resultado es 7
Operadores a nivel de bits.
Los operadores a nivel de bits son: el Y (&), el O (|), el NO (^), el O exclusivo (~), el desplazamiento a la izquierda (<<) y el desplazamiento a la derecha (>>). Dada la naturaleza de alto nivel de JavaScript, difícilmente los utilizará, salvo que quiera hacer uso de algunas características avanzadas proporcionadas por los navegadores modernos.
Operadores relacionales o de comparación.
Para comparar valores de variables y objetos el lenguaje JavaScript proporciona una serie de operadores relacionales como: el igual a (==), estrictamente igual a (===), el distinto o diferente a (!=), el estrictamente distinto o diferente a (!==), el menor a (<), el menor o igual a (<=), el mayor (>), el mayor o igual a (>=). Al utilizar operadores relacionales en una expresión se producirá la evaluación de la misma como un valor lógico que puede ser verdadero (true) si se cumple una condición o falso (false) si la condición no se cumple.
Ejemplos:
var x = 14;
var y = 21;
if(x > y){ // El resultado se evaluará como verdadero o falso dependiendo de los valores de x y y
document.write(x + " es mayor que " + y);
}
else{
document.write(y + " es mayor que " + x);
}
Operadores lógicos.
Los operadores lógicos son exactamente tres: el Y lógico (&&), el O lógico (||) y el NO lógico (!). Estos tres operadores se pueden utilizar en conjunto con los operadores relacionales para crear expresiones más complejas.
Ejemplos:
var x = 7;
var y = 4;
var r;
if((x < y) && (y % 2 == 0)){
r = x*y;
alert("El resultado es: " + r);
}
Operadores de incremento/decremento.
Estos operadores se utilizan para incrementar o decrementar el valor de una variable en una unidad. La característica de este tipo de operador es que además de incrementar o decrementar el valor, asigna el resultado en una sola operación. Para incrementar se utiliza la secuencia de caracteres ++ y para decrementar se utilizar la secuencia de caracteres --.
Ejemplos:
var x = 6;
alert(x--); //Primero se asigna y luego se decrementa. Imprimirá 6 en el resultado
_________________________________________________________________________
var x = 6;
alert(++x); //Primero se incrementa, luego se asigna. Imprimirá 7 en el resultado
Operador de concatenación
El operador de concatenación permite unir cadenas. El operador puede utilizarse para unir dos cadenas explícitas, o para unir una cadena con otro tipo de dato, como número. El símbolo utilizado para la operación de concatenación es el mismo que para la suma aritmética. Esto implica que debe tener cuidado de no incurrir en alguna ambigüedad a la hora de utilizarlo.
Ejemplos:
var name = "Julio Moreno";
alert("Tu nombre es: " + name);
Precedencia de operadores
La precedencia de operadores determina el orden en que serán evaluadas las expresiones complejas que incluyan más de dos operandos y un operador, que por su misma naturaleza, resultarán obvias. Así, al evaluar 3 + 9, resultará obvio que el resultado debe ser 12. Ahora bien, si evaluamos 5 + 10/2, se preguntará si el resultado es 7.5 o 10. Esta duda obedece al hecho de que no sabe si primero se realizará la suma y luego, la división, o si, por el contrario, primero se realizará la división y luego la suma.
Para resolver este tipo de ambigüedad JavaScript utiliza la precedencia de operadores para evitar confusión, de modo que independientemente de la complejidad de una expresión, el resultado siempre sea el mismo.
La siguiente tabla muestra el orden de precedencia de los operadores de JavaScript:
Operador | Operación | Orden de evaluación | Orden de precedencia |
---|---|---|---|
++ | Incremento | Primero | Der. -> Izq. |
-- | Decremento | Primero | Der. -> Izq. |
- | Negación | Primero | Der. -> Izq. |
! | Not | Primero | Der. -> Izq. |
*, /, % | Multiplicación, División y Módulo (o Residuo) | Segundo | Izq. -> Der. |
+, - | Suma, Resta | Tercero | Izq. -> Der. |
+ | Concatenación | Tercero | Izq. -> Der. |
<, <= | Menor que, Menor o igual que | Cuarto | Izq. -> Der. |
>, >= | Mayor que, Mayor o igual que | Cuarto | Izq. -> Der. |
== | Igual | Quinto | Izq. -> Der. |
!= | Distinto | Quinto | Izq. -> Der. |
=== | Identidad | Quinto | Izq. -> Der. |
!== | No identidad | Quinto | Izq. -> Der. |
&& | And | Sexto | Izq. -> Der. |
|| | Or | Sexto | Izq. -> Der. |
?: | Condicional | Séptimo | Der. -> Izq. |
= | Asignación | Octavo | Der. -> Izq. |
+=, -=, *=, /=, %= | Asignación aritmética para suma, resta, etc. | Octavo | Der. -> Izq. |
No hay comentarios:
Publicar un comentario
Con mucho agrado les presento este pequeño manual en forma de blog sobre el lenguaje JavaScript. Espero comentarios de su parte que ayuden a mejorar este trabajo. Aclaro que me he enfocado en un inicio en el JavaScript puro, sin framework. Tal vez más adelante y dedicando algún tiempo en aprenderlos, pueda adentrarme en algún manual de framework JavaScript posteriormente.