Operadores en Javascript

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 = + = – = * = / = >> = << = >>> = & = ^ = | =