gratiszona

javascript: tipos de datos

4.- Tipos de Datos
Cuando declaramos una variable, esta no pertenece a ningun tipo de dato en concreto, se dice que es Undefined. Es al asignarle un valor cuando pasa a ser de uno u otro tipo, segun el dato que albergue.
Existen 6 tipos de datos:
String: cadenas de texto Object: objetos
Number: valores numericos Null: nulo
Boolean: true o false Undefined: no definido.
Podemos averiguar el tipo de dato que contiene una variable si utilizamos la funcion incorporada typeof
  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG005.HTM
var Pepe;
var PEPE='Hola que tal ';
var pepE=75.47;
var pEpe=' ¿Como estas?';
Pepe=PEPE+pEpe;
alert('PEPE='+PEPE);
alert('PEPE es '+typeof(PEPE));
alert('pepE='+pepE);
alert('pepE es '+typeof(pepE));
alert('pEpe='+pEpe);
alert('pEpe es '+typeof(pEpe));
alert('Pepe='+Pepe);
alert('Pepe es '+typeof(Pepe));
</SCRIPT>
</HTML>
  • Grabalo en TuCarpeta con el nombre Prog005.htm
  • Ejecutalo tantas veces como quieras.
5.- El tipo de dato 'String':
En JavaScript los textos se denotan por comillas dobles o comillas simples, pero no ambas a la vez.
Variable1 = 'Pepito'
Variable2 = 'Paquito'
Podemos incluir un caracter de control en una cadena de texto, si utilizamos el llamado caracter de escape que es: \
Los caracteres de control mas usados son:
\n salto de linea
\t tabulador
  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG006.HTM
var num;
alert('Hola que tal');
alert('Hola \nque tal');
alert('Hola\t'+'que'+'\n'+'tal');
alert('Hola\n que\n t\nal');
num=prompt('Escribe un numero: ','');
alert('El \ndoble\n es: \n'+(num*2));
</SCRIPT>
</HTML>
  • Grabalo en TuCarpeta con el nombre Prog006.htm
  • Ejecutalo, observando detenidamente la accion de \n y \t
  • Si no introducimos un numero en el 'prompt', en el 'alert' correspondiente al doble del numero, aparecera NaN, que quiere decir que no es un numero.
6.- El tipo de datos 'Number'
Podemos guardar indistintamente en una variable number un numero entero, decimal, positivo o negativo.
Ejemplos:
var numNatural= 1234;
var numEntero = -479;
var numDecimal = 3.141592;
var numDecimal2 = -0.123;
  • Bases de Numeracion en JavaScript (numeros enteros)
Por defecto, el sistema de numeracion es el decimal.
  • Base Hexadecimal (base 16): anteponemos el prefijo 0X
  • Base Octal (base 8): anteponemos un cero
Digitos del sistema decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Digitos del sistema hexadecimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (que corresponde al 10 en base decimal), B (que corresponde al 11 en decimal), C (12), D (13), E (14), F (15)
Ejemplo:
FF32 en base 16 es 2 + 3*16 + 15*162 + 15*163 = 65330 en sistema decimal
Es decir: 0xFF32 (numero en base 16, segun notacion de JavaScript) = FF3216 = 6533010
123458 = 5 + 4*8 + 3*82 + 2*83 + 1*84 = 534910
Es decir: 012345 (numero en base 8, segun notacion de JavaScript) = 123458 = 534910

  • Escribe el siguiente programa:


<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG007.HTM
var n1=57; // numero en base 10
var n2=012345; //base 8, porque empieza por 0
var n3=0xFF32; //base 16, porque empieza por 0x
alert('numero decimal= '+n1);
alert('el 12345 en base 8 es en decimal= '+n2);
alert('el FF32 en base 16 es en decimal= '+n3);
/* Observa que al escribir una variable numerica en un 'alert'
siempre nos da el numero en decimal,
aunque sea en octal o hexadecimal */
</SCRIPT>
</HTML>

  • Grabalo en TuCarpeta con el nombre Prog007.htm y ejecutalo.



En el programa anterior aparecen 3 "alerts", uno para cada uno de los tres numeros. No hay ningun problema para incluir los tres "alerts" en uno solo....

  • En efecto, escribe el siguiente programa:


<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG007b.HTM
var n1=57; // numero en base 10
var n2=012345; //base 8, porque empieza por 0
var n3=0xFF32; //base 16, porque empieza por 0x
alert('numero decimal= '+n1+'\n'+
'el 12345 en base 8 es en decimal= '+n2+'\n'+
'el FF32 en base 16 es en decimal= '+n3);
</SCRIPT>
</HTML>


  • Grabalo en TuCarpeta con el nombre Prog007b.htm y ejecutalo.

  • Observa que la solucion de nuestro problema esta:

  • Unir texto (entre comillas) y variables (sin comillas), con el signo "+"

  • Cada vez que deseemos un cambio de linea, incluimos "\n"



Veamos otra forma de incluir en un "alert" muchos datos ...
  • Escribe:


<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// Prog007bb.htm
var x,z;
salida='';
var x1='Pepito Grillo', y1='Paquita Gonzalez';
var num1=37, num2=3.752;
x=prompt('Escribe tu nombre:','');
y=prompt('Escribe tu primer apellido:','');
z=prompt('Escribe tu segundo apellido:','');
salida=salida+'Ahora un alert largo ';
salida=salida+x+y+z;
salida=salida+x1+' '+y1;
salida=salida+num1+' '+num2;
salida=salida+' ,ya me he cansado';
alert(salida);
</SCRIPT>
</HTML>


  • Grabalo en TuCarpeta con el nombre Prog007bb.htm y ejecutalo.


  • Observa de que forma acumulamos muchos datos en un solo "alert" (esta sera la forma de proceder, cuando necesitemos una "salida" con muchos valores):

  • definimos una variable "vacia": var salida="";

  • acumulamos a la variable salida todo lo que queramos: salida=salida+ lo que sea

  • "lo que sea" puede ser una cadena (un texto) o una variable (sea numerica o de texto).

salida=salida + x1 + " " + y1;
salida=salida + "ya me he cansado";
  • Para acabar, un solo "alert": alert(salida);









Variables nulas
Cuando una variable no contiene ningun valor, su contenido es nulo
Ejemplo: miVariable = 'Hola';
miVariable= null; // la vaciamos para que no ocupe memoria.


Valores especiales para variables numericas
NaN: no es un numero.
Infinity: infinito, por ejemplo 3/0


  • Escribe el siguiente programa:


<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG008.HTM
var var1='Pepe';
var var2='Paquito';
var var3=5/0;
alert('Pepe es '+var1);
alert('Paquito + 2 es ='+(var2+2));
alert('5/0 es ='+var3);
</SCRIPT>
</HTML>


  • Grabalo en TuCarpeta con el nombre Prog008.htm y ejecutalo.
Anterior: variables en javascript
Siguiente: contadores