 |
HTML en castellano recomienda... |
|
|
Curso de Javascript 1.2
En esta página:
Operadores
Los operadores nos permiten unir identificadores y literales para formar
expresiones. Las expresiones son el resultado de operaciones mátemáticas o
lógicas. Un literal o una variable son expresiones, pero también lo son esos
mismos literales y variables unidos entre sí mediante operadores.
JavaScript dispone de muchos más operadores que la mayoría de los lenguajes,
si exceptuamos a sus padres C, C++ y Java. Algunos de ellos no los estudiaremos
debido a su escasa utilidad y con algunos otros (especialmente el condicional)
deberemos andarnos con cuidado, ya que puede lograr que nuestro código no lo
entendamos ni nosotros.
Operadores aritméticos
JavaScript dispone de los operadores aritméticos clásicos y algún que
otro más:
Descripción |
Símbolo |
Expresión de ejemplo |
Resultado del ejemplo |
Multiplicación |
* |
2*4 |
8 |
División |
/ |
5/2 |
2.5 |
Resto de una división entera |
% |
5 % 2 |
1 |
Suma |
+ |
2+2 |
4 |
Resta |
- |
7-2 |
5 |
Incremento |
++ |
++2 |
3 |
Decremento |
-- |
--2 |
1 |
Menos unario |
- |
-(2+4) |
-6 |
Los operadores de incremento y decremento merecen una explicación auxiliar.
Se pueden colocar tanto antes como después de la expresión que deseemos modificar
pero sólo devuelven el valor modificado si están delante. Me explico.
a = 1;
b = ++a;
En este primer caso, a valdrá 2 y
b 2 también. Sin embargo:
a = 1;
b = a++;
Ahora, a sigue valiendo 2, pero
b es ahora 1. Es decir, estos operadores
modifican siempre a su operando, pero si se colocan detrás del mismo se ejecutan
después de todas las demás operaciones.
Operadores de comparación
Podemos usar los siguientes:
Descripción |
Símbolo |
Expresión de ejemplo |
Resultado del ejemplo |
Igualdad |
== |
2 == '2' |
Verdadero |
Desigualdad |
!= |
2 != 2 |
Falso |
Igualdad estricta |
=== |
2 === '2' |
Falso |
Desigualdad estricta |
!== |
2 !== 2 |
Falso |
Menor que |
< |
2 < 2 |
Falso |
Mayor que |
> |
3 > 2 |
Verdadero |
Menor o igual que |
<= |
2 <= 2 |
Verdadero |
Mayor o igual que |
>= |
1 >= 2 |
Falso |
La igualdad y desigualdad estricta son iguales a las normales pero hacen
una comprobación estricta de tipo. Han sido incluidos en el estándar
ECMAScript y lo soportan Netscape 4.06 y superiores y Explorer 3 y superiores.
Hay que indicar que versiones más antiguas de Netscape tratan la igualdad
normal como si fuera estricta.
Operadores lógicos
Estos operadores permiten realizar expresiones lógicas complejas:
Descripción |
Símbolo |
Expresión de ejemplo |
Resultado del ejemplo |
Negación |
! |
!(2 = 2) |
Falso |
Y |
&& |
(2 = 2) && (2 >= 0) |
Verdadero |
Ó |
|| |
(2 = 2) || (2 <> 2) |
Verdadero |
Operadores de asignación
Normalmente los lenguajes tienen un único operador de asignación, que en
JavaScript es el símbolo =. Pero en este lenguaje,
dicho operador se puede combinar con operadores aritméticos y lógicos para dar los
siguientes:
Operador |
Significado |
Operador |
Significado |
x += y |
x = x + y |
x -= y |
x = x - y |
x /= y |
x = x / y |
x *= y |
x = x * y |
x % y |
x = x % y |
|
|
Operadores especiales
Vamos a incluir en este apartado operadores que no hayan sido incluidos
en los anteriores. La concatenación de cadenas, por ejemplo, se realiza con el
símbolo +. El operador condicional tiene esta
estructura:
condicion ? valor1 : valor2
Si la condición se cumple devuelve el primer valor y, en caso contrario,
el segundo. El siguiente ejemplo asignaría a la variable
a un 2:
a = 2 > 3 ? 1 : 2
Como podéis ver no resulta muy legible. Huid de este operador como de
la peste. Evitad la tentación. Procurad no usarlo. Yo he tenido que descifrar
código escrito por mí un par de meses antes que tenía esta clase de operadores,
a veces incluso anidados. Todavía tengo escalofríos al recordarlo.
Para tratar con objetos disponemos de tres operadores:
Descripción |
Símbolo |
Expresión de ejemplo |
Resultado del ejemplo |
Crear un objeto |
new |
a = new Array() |
a es ahora un vector |
Borrar un objeto |
delete |
delete a |
Elimina el vector anteriormente creado |
Referencia al objeto actual |
this |
|
|
this se suele utilizar en el código de
los métodos de un objeto para referirse a otros métodos o a propiedades de su
mismo objeto.
|