Contenidos
Operadores en Javascript
JavaScript posee una amplia variedad de operadores
Estos operadores los podemos distinguir en dos grupos: binarios, que actúan sobre dos operandos y unarios, que sólo requieren un operando
Así, su sintaxis general es:
operando1 operador_Binario operando2
operando1 operador_unario
operador_unario operando1
Operadores aritméticos
JavaScript suministra las operaciones básicas con el único añadido del operador que devuelve el resto de la división entre el operador izquierdo y el derecho. Se carece de operadores más complejos, aunque el objeto Math definido en JavaScript posee dichas tareas
Operadores aritméticos | |
+ | Suma |
– | Resta |
* | Multiplicación |
/ | División |
% | Resto |
Nota El operador + aplicado a strings, concatena ambas strings en una sola
Operadores de incremento (++) y decremento (- -)
Estos operadores son unarios y realizan el autoincremento y el autodecremento a la variable que se les aplica. Además de modificar la variable, devuelven el valor de la misma
El operador de incremento o decremento puede ir delante p detrás de la variable teniendo diferente significado
Si el operador es ++ se sitúa después de la variable se denomina post-incremento, haciendo que primero tome el valor y después se incrementa en una unidad la variable
Si el operador ++ se sitúa antes de la variable se denomina pre-incremento y hace que primero se incremente en una unidad la variable y luego se tome el valor
Si el operador es – – se sitúa después de la variable se denomina post-decremento, haciendo que primero tome el valor y después se decrementa en una unidad la variable
Si el operador – – se sitúa antes de la variable se denomina pre-decremento y hace que primero se decremente en una unidad la variable y luego se tome el valor
Operadores relacionales
Se emplean típicamente en las expresiones condicionales. Los operadores relacionales devuelven valores booleanos. Los operandos pueden ser tanto numéricos como strings
Operadores relacionales | |
> | Mayor que |
< | Menor que |
> = | Mayor o igual que |
< = | Menor o igual que |
! = | Distinto que |
= = | Igual que |
Operadores lógicos
Los operandos lógicos está relacionados con los relacionales ya que normalmente los operandos que usan son resultado de expresiones relacionales. Los valores resultantes son booleanos
Operadores lógicos | |
& & | AND |
| | | OR |
! | NOT |
Operadores bit a bit
La forma de trabajar de estos operadores es convertir a binario los operandos y luego operar con ellos bit a bit
Operadores bit a bit | |
& | AND |
| | OR |
^ | XOR |
<< | Propagación a la izquierda Desplaza el valor hacia la izquierda introduciendo ceros, si se sale de rango se pierden valores |
>> | Propagación a la derecha Desplaza el valor hacia la derecha introduciendo por la izquierda el bit de signo y eliminando los valores que se salgan por la derecha |
>>> | Zero fill, propagación a la derecha Similar a << pero hacia la derecha. No introduce bit de signo |
Nota Los operadores de propagación toman dos operandos: el primero es la variable a propagar y el segundo es el número de posiciones a propagar
Operadores de asignación
La asignación también es un operador que devuelve la variable modificada. El operador de asignación en JavaScript es =. Los operadores de asignación que se muestran a continuación no son sino abreviaturas que hacen más cómoda y simples las expresiones, aunque a veces sean más ilegibles
Operadores de asignación | ||
Operador | Expresión | Equivalencia |
= | A=B=C; | A=C; B=C; |
+ = | A + = 4; | A = A + 4; |
– = | A – = 3 * B; | A = A – (3 * B); |
* = | A * = 2; | A = A * 2; |
/ = | A / = 35 + B; | A = A / (35 + B); |
>> = | A >> = 1; | A = A >> 1; |
<< = | A << = B; | A = A << B; |
>>> = | A >>> = B + 1; | A = A >>> (B + 1); |
& = | A & = (C + = 3); | C = C +3; A = A & C; |
^ = | A ^ = 2; | A = A ^ 2; |
| = | A | = C; | A = A | C; |
Otros operadores
Operador de selección
Este operador se utiliza para ejecutar una operación u otra dependiendo de la condición. El formato es el siguiente:
Condición ? Exp1 : Exp2
Si se cumple la condición se evalúa y se devuelve la expresión Exp1 si no la Exp2. Podemos poner un sólo valor. Ejemplo:
Operador new
Este operador se va a utilizar para crear una instancia de un tipo de objetos previamente definido. La sintaxis a seguir es la siguiente:
variableObjeto = new tipoDeObjeto(parámetro 1, parámetro 2, …)
Estos parámetros son los que se le pasan al constructor de dicho objeto en cuestión
Operador typeof
Este operador aplicado a una variable devuelve el tipo de objeto al que pertenece el dato contenido por dicha variable. Su sintaxis es:
typeof(variable)
Preferencia
La preferencia de los operadores va a determinar el orden en que se ejecuten en una expresión determinada. Usando paréntesis controlaremos que las operaciones se lleven a cabo según nosotros queramos. En JavaScript la preferencia de los operadores de mayor a menor es la siguiente:
Preferencia | |||||||||||
Negación / (in / de) cremento | ! | ++ | — | ||||||||
Mul / Div / Resto | * | / | % | ||||||||
Suma / Resta | + | – | |||||||||
Propagación | << | >> | >>> | ||||||||
Relacionales | < | < = | > | > = | |||||||
Igualdad | = = | != | |||||||||
AND bit a bit | & | ||||||||||
XOR bit a bit | ^ | ||||||||||
OR bit a bit | | | ||||||||||
AND lógica | && | ||||||||||
OR lógica | | | | ||||||||||
Otros operadores | ?: | New | Typeof | ||||||||
Asignación | = | + = | – = | * = | / = | >> = | << = | >>> = | & = | ^ = | | = |