- Variables:
Las variables en los
lenguajes de programación siguen una lógica similar a las variables utilizadas
en otros ámbitos como las matemáticas. Una variable es un elemento que se
emplea para almacenar y hacer referencia a otro valor. Gracias a las variables
es posible crear "programas genéricos", es decir, programas que
funcionan siempre igual independientemente de los valores concretos utilizados.
Si no existieran
variables, un programa que suma dos números podría escribirse como:
resultado = 3 + 1
El programa anterior
es tan poco útil que sólo sirve para el caso en el que el primer número de la
suma sea el 3 y el segundo número sea el 1. En cualquier otro caso, el programa
obtiene un resultado incorrecto.
Sin embargo, el
programa se puede rehacer de la siguiente manera utilizando variables para
almacenar y referirse a cada número:
numero_1 = 3
numero_2 = 1
resultado = numero_1
+ numero_2
Los elementos
numero_1 y numero_2 son variables que almacenan los valores que utiliza el
programa. El resultado se calcula siempre en función del valor almacenado por
las variables, por lo que este programa funciona correctamente para cualquier
par de números indicado. Si se modifica el valor de las variables numero_1 y
numero_2, el programa sigue funcionando correctamente.
Las variables en
JavaScript se crean mediante la palabra reservada var. De esta forma, el
ejemplo anterior se puede realizar en JavaScript de la siguiente manera:
var numero_1 = 3;
var numero_2 = 1;
var resultado = numero_1 + numero_2;
- Tipos de Variables
- Numérica
var iva = 16; // variable tipo entero
var total = 234.65; // variable tipo decimal.
- Cadenas de texto
Se utilizan para
almacenar caracteres, palabras y/o frases de texto. Para asignar el valor a la
variable, se encierra el valor entre comillas dobles o simples, para delimitar
su comienzo y su final:
var mensaje =
"Bienvenido a nuestro sitio web";
var nombreProducto =
'Producto ABC';
var letraSeleccionada
= 'c';
En ocasiones, el texto
que se almacena en las variables no es tan sencillo. Si por ejemplo el propio
texto contiene comillas simples o dobles, la estrategia que se sigue es la de
encerrar el texto con las comillas (simples o dobles) que no utilice el texto:
/* El contenido de
texto1 tiene comillas simples, por lo que
Se encierra con comillas dobles */
var texto1 =
"Una frase con 'comillas simples' dentro";
/* El contenido de
texto2 tiene comillas dobles, por lo que
Se encierra con comillas simples */
var texto2 = 'Una
frase con "comillas dobles" dentro';
- Booleanos
Las variables de tipo
boolean o booleano también se conocen con el nombre de variables de tipo
lógico. Aunque para entender realmente su utilidad se debe estudiar la
programación avanzada con JavaScript del siguiente capítulo, su funcionamiento
básico es muy sencillo.
Una variable de tipo
boolean almacena un tipo especial de valor que solamente puede tomar dos
valores: true (verdadero) o false (falso). No se puede utilizar para almacenar
números y tampoco permite guardar cadenas de texto.
Los únicos valores
que pueden almacenar estas variables son true y false, por lo que no pueden
utilizarse los valores verdadero y falso. A continuación se muestra un par de
variables de tipo booleano:
var clienteRegistrado
= false;
var ivaIncluido =
true;
- Operadores
Las variables por sí
solas son de poca utilidad. Hasta ahora, sólo se ha visto cómo crear variables
de diferentes tipos y cómo mostrar su valor mediante la función
alert
()
. Para hacer programas realmente útiles, son necesarias
otro tipo de herramientas.
Los operadores permiten
manipular el valor de las variables, realizar operaciones matemáticas con sus
valores y comparar diferentes variables. De esta forma, los operadores permiten
a los programas realizar cálculos complejos y tomar decisiones lógicas en
función de comparaciones y otros tipos de condiciones.
- Asignación
El operador de asignación es el más utilizado y el más
sencillo. Este operador se utiliza para guardar un valor específico en una
variable. El símbolo utilizado es = (no confundir con el
operador == que se verá más adelante):
var numero1 = 3;
A la izquierda del
operador, siempre debe indicarse el nombre de una variable. A la derecha del
operador, se pueden indicar variables, valores, condiciones lógicas, etc.
var numero1 = 3;
var numero2 = 4;
/* Error, la
asignación siempre se realiza a una variable,
por lo que en la izquierda no se puede
indicar un número */
5 = numero1;
// Ahora, la variable
numero1 vale 5
numero1 = 5;
// Ahora, la variable
numero1 vale 4
numero1 = numero2;
Otro Ejemplo seria:
Incremento y decremento
Estos dos operadores
solamente son válidos para las variables numéricas y se utilizan para
incrementar o decrementar en una unidad el valor de una variable.
Ejemplo:
var numero = 5;
++numero;
alert(numero); // numero = 6
El operador de
incremento se indica mediante el prefijo ++ en el nombre de la variable. El
resultado es que el valor de esa variable se incrementa en una unidad. Por
tanto, el anterior ejemplo es equivalente a:
var numero = 5;
numero = numero + 1;
alert(numero); // numero = 6
De forma equivalente,
el operador decremento (indicado como un prefijo -- en el nombre de la
variable) se utiliza para decrementar el valor de la variable:
var numero = 5;
--numero;
alert(numero); // numero = 4
El anterior ejemplo
es equivalente a:
var numero = 5;
numero = numero - 1;
alert(numero); // numero = 4
Los operadores de
incremento y decremento no solamente se pueden indicar como prefijo del nombre
de la variable, sino que también es posible utilizarlos como sufijo. En este
caso, su comportamiento es similar pero muy diferente. En el siguiente ejemplo:
var numero = 5;
numero++;
alert(numero); // numero = 6
El resultado de
ejecutar el script anterior es el mismo que cuando se utiliza el operador
++numero, por lo que puede parecer que es equivalente indicar el operador ++
delante o detrás del identificador de la variable. Sin embargo, el siguiente
ejemplo muestra sus diferencias:
var numero1 = 5;
var numero2 = 2;
numero3 = numero1++ +
numero2;
// numero3 = 7,
numero1 = 6
var numero1 = 5;
var numero2 = 2;
numero3 = ++numero1 +
numero2;
// numero3 = 8,
numero1 = 6
Si el operador ++ se
indica como prefijo del identificador de la variable, su valor se incrementa
antes de realizar cualquier otra operación. Si el operador ++ se indica como
sufijo del identificador de la variable, su valor se incrementa después de
ejecutar la sentencia en la que aparece.
Por tanto, en la
instrucción numero3 = numero1++ + numero2;, el valor de numero1 se incrementa
después de realizar la operación (primero se suma y numero3 vale 7, después se
incrementa el valor de numero1 y vale 6). Sin embargo, en la instrucción
numero3 = ++numero1 + numero2;, en primer lugar se incrementa el valor de
numero1 y después se realiza la suma (primero se incrementa numero1 y vale 6,
después se realiza la suma y numero3 vale 8).
- Lógicos
Los operadores lógicos son imprescindibles para realizar
aplicaciones complejas, ya que se utilizan para tomar decisiones sobre las
instrucciones que debería ejecutar el programa en función de ciertas
condiciones.
El resultado de cualquier operación que utilice operadores
lógicos siempre es un valor lógico o booleano.
- Negación
Uno de los operadores lógicos más utilizados es el de la
negación. Se utiliza para obtener el valor contrario al valor de la variable:
var visible = true;
alert(!visible); //
Muestra "false" y no "true"
La negación lógica se obtiene prefijando el símbolo! al identificador de la variable. El
funcionamiento de este operador se resume en la siguiente tabla:
Variable Variable
true false
false true
Si la variable
original es de tipo booleano, es muy sencillo obtener su negación. Sin embargo,
¿qué sucede cuando la variable es un número o una cadena de texto? Para obtener
la negación en este tipo de variables, se realiza en primer lugar su conversión
a un valor booleano:
Si la variable
contiene un número, se transforma en false si vale 0 y en true para cualquier
otro número (positivo o negativo, decimal o entero).
Si la variable
contiene una cadena de texto, se transforma en false si la cadena es vacía
("") y en true en cualquier otro caso.
var cantidad = 0;
vacio =
!cantidad; // vacio = true
cantidad = 2;
vacio =
!cantidad; // vacio = false
var mensaje =
"";
mensajeVacio =
!mensaje; // mensajeVacio = true
mensaje =
"Bienvenido";
mensajeVacio = !mensaje; // mensajeVacio = false
- AND
variable1
|
variable2
|
variable1 && variable2
|
true
|
true
|
true
|
true
|
false
|
false
|
false
|
true
|
false
|
false
|
false
|
false
|
var valor1 = true;
var valor2 = false;
resultado = valor1 && valor2; //
resultado = false
valor1
= true;
valor2 = true;
resultado = valor1 && valor2; //
resultado = true
- OR
La operación lógica OR también combina dos
valores booleanos. El operador se indica mediante el símbolo || y su resultado
es true si alguno de los dos operandos es true:
variable1
|
variable2
|
variable1 || variable2
|
true
|
true
|
true
|
true
|
false
|
true
|
false
|
true
|
true
|
false
|
false
|
false
|
var
valor1 = true;
var
valor2 = false;
resultado
= valor1 || valor2; // resultado = true
valor1 = false;
valor2
= false;
resultado = valor1 || valor2; //
resultado = false
-
Matemáticos
JavaScript permite realizar manipulaciones
matemáticas sobre el valor de las variables numéricas. Los operadores definidos
son: suma (+), resta (-), multiplicación (*) y división (/). Ejemplo:
var numero1 = 10;
var numero2 = 5;
resultado = numero1 / numero2; // resultado = 2
resultado = 3 + numero1; // resultado = 13
resultado = numero2 – 4; // resultado = 1
resultado = numero1 * numero 2; // resultado
= 50
- Relacionales
Los operadores
relacionales definidos por JavaScript son idénticos a los que definen las
matemáticas: mayor que (>), menor que (<), mayor o igual (>=), menor o
igual (<=), igual que (==) y distinto de (!=).
Los operadores que
relacionan variables son imprescindibles para realizar cualquier aplicación
compleja, como se verá en el siguiente capítulo de programación avanzada. El
resultado de todos estos operadores siempre es un valor booleano:
var numero1 = 3;
var numero2 = 5;
resultado = numero1 > numero2; //
resultado = false
resultado = numero1 < numero2; //
resultado = true
numero1 = 5;
numero2 = 5;
resultado = numero1 >= numero2; //
resultado = true
resultado = numero1 <= numero2; //
resultado = true
resultado = numero1 == numero2; // resultado
= true
resultado = numero1 != numero2; // resultado
= false
Se debe tener
especial cuidado con el operador de igualdad (==), ya que es el origen de la
mayoría de errores de programación, incluso para los usuarios que ya tienen
cierta experiencia desarrollando scripts. El operador == se utiliza para
comparar el valor de dos variables, por lo que es muy diferente del operador =,
que se utiliza para asignar un valor a una variable:
// El operador "=" asigna valores
var numero1 = 5;
resultado = numero1 = 3; // numero1 = 3 y resultado = 3
// El operador "==" compara
variables
var numero1 = 5;
resultado = numero1 == 3; // numero1 = 5 y
resultado = false
No hay comentarios:
Publicar un comentario