contacto[arroba]digitallearning.es
Título curso Aprende a programar (con Javascript)

Tipo de variables y datos

Las variables pueden contener diversos tipos de datos (data types),  Según sean dichos tipos pueden tener un tratamiento diferenciando.

Los dos tipos de datos que nos resultarán más familiares son:

Numbers (números)

Números enteros y decimales, positivos y negativos.

En otros lenguajes de programación, se distingue entre distintos tipos de números (int: entero, float: decimal,…), por lo que hay que indicarlo al declarar la variable, pero en Javascript no.

Ejemplo: var notaMedia = 7.52, numeroAlumnos = 45, variacionAlumnos = -5;

Nota: los decimales no pueden expresarse como fracciones (ej: 1/2) y deben separarse por puntos (.), según notación inglesa, y no por comas (,).

Practica asignando valores numéricos:

Strings (cadenas)

Una o varias cadenas de caracteres alfanuméricos (letras, números, signos puntuación…).

Las denominamos tipos de datos o variables de texto, porque las empleamos para almacenar información de esa naturaleza o porque sus valores los vamos a tratar como texto.

Ejemplos: var nif = "12332112W", ciudad= "Santiago de Compostela", codigoPostal = "28001", telefono = "003423145627"; ocupacion = "Estudiante de Biología";

Como vemos en los ejemplos, el código postal o el teléfono, aunque contengan solo números, no nos interesa tratarlos de esa forma (en el sentido de aplicarles operaciones matemáticas: sumarlos, restarlos, comparar si son mayores o menores…). Tiene más sentido tratarlos como cadenas de texto, por lo que asignamos su valor entrecomillado.

Si esto te causa confusión, prueba con el siguiente script de ejemplo, donde los mismos valores ‘3’ y ‘5’, son definidos en unas variables como textos (string) y en otras como números. Al aplicarles el operador ‘+’ verás que produce un resultado distinto según se trate de un caso u otro (explicamos más adelante este operador ‘+’, pero es sencillo de entender: suma los valores cuando se aplica a variables numéricas y los une cuando sea aplica sobre variables de texto):

Práctica asignado valores de texto:

Además de los dos anteriores, podemos tener estos otros tipos de datos:

Booleans

El nombre viene de la lógica de Boole. Pueden tomar solo dos valores: ‘true‘ o ‘false‘ (verdadero/falso).

Ej: var maximaPuntuacion= true, maximaPuntuacion = false;

Se utilizan mucho en las sentencias condicionales, a modo de interruptor, pudiendo equiparar los valores true/false, en ese símil, a ‘encendido’ /apagado’, es decir, que hace que el programa se siga ejecutando por una instrucción o por otra diferente:
“Si es verdad, sigue ejecutando X, si es falso, haz Y”.

Veremos su utilización práctica en el apartado de flujos del programa.

Objects (objetos)

Este concepto podemos asociarlo, de forma simplificada, a un ente u objeto de la vida real que contiene diversas propiedades características que lo definen.

Explicaremos más sobre este concepto en un apartado posterior , sobre todo para introducir los objetos que incorpora Javascript. La creación de nuestros propios objetos, típica del estilo o paradigma de programación ‘orientada a objetos’ va más allá del objetivo de esta formación y no lo tratemos en este curso (publicaremos próximamente sobre ello en otros contenidos)

Ejemplo declaración de propiedades de un objeto: var coche {marca:"Seat", modelo: "Ibiza", matricula:"1400AXZ", color:"rojo"}

Arrays (matrices)

Pueden contener múltiples valores (piensa en un buzón con diversos compartimentos numerados en su interior) y son objetos. Vamos a ver aquí solo su definición y en apartados posteriores, hablaremos más sobre ellas y de cómo podemos manipularlas.

Ejemplo: var granPoblacion = ["Madrid", "Barcelona", "Valencia", "Sevilla"];

En su definición date cuenta cómo se emplean:

  • corchetes [  ]:  para incluir los valores
  • comas (,): para separar los valores dentro del array

Undefined (indefinido)

Se da este tipo de datos cuando se declara una variable, pero no se le asigna ningún valor.

Ejemplo: var cantidad;

Como ‘rarezas’, tenemos otro data type denominado Null (nulo) que se considera un objeto (muchos contemplan este data type como un ‘fallo’ del lenguaje Javascript), y el valor NaN (‘not a number’: no un número), que curiosamente tiene el tipo de dato ‘number’ y que es el resultado de una operación que no tiene sentido. Ejemplo: var resta = 25 - "texto";

Typeof

Si queremos averiguar el tipo de dato que contiene una variable podemos utilizar la función typeof.

Vamos a ver un ejemplo donde asignamos los siguiente valores a una lista de variables:

  • notaMedia = 2.5
  • coche = “Opel”
  • final = true
  • notasAlumnos = [9, 8, 5, 7]

y luego vamos a ver con la funcion ‘typeof’ de qué tipo de datos es cada variable:

Nota: si ejecutas este código en el editor online, date cuenta que el array que hemos incluido (notasAlumnos) da como resultado un tipo ‘objeto’.

Javascript tiene tipo de datos ó ‘tipado’ dinámico

Javascript tiene un tipo de datos dinámico. Esto significa que una variable puede declararse conteniendo un tipo de dato y, más adelante, asignarle otro tipo mediante una simple asignación. Ejemplo:

Debido a esto, en Javascript no es necesario indicar el tipo de dato que va a tener una variable a la hora de declararla. Es decir, siempre empleamos la palabra clave ‘var’, sin importar si es un número, un texto o cualquier otro tipo.

Tipo de datos estricto: otros lenguajes, como Java, tienen ‘tipado’ estricto, es decir, al declarar una variable debemos indicar de qué tipo es.
Por ejemplo, si es una cadena de texto, debemos declararlo con la palabra clave ‘String’:   String nombre = "Sandra"  y si es un número entero, se debe declarar con la palabra clave ‘int’:  int año = 2015.

En este tipo de lenguajes, podemos cambiar el valor asignado, siempre que sea del mismo tipo. Es decir, si hemos definido una variable ‘String’ y le asignamos un dato de otro tipo (por ejemplo, el número 7), el programa daría un error al compilarlo (salvo que hagamos una conversión previa de tipos mediante una función).

Los lenguajes de tipado dinámico, como Javascript, se consideran más flexibles y fáciles de utilizar porque no tenemos que tener en cuenta todas estas cosas, ahora bien, debido a este menor ‘control’ pueden producirse más errores, que a veces son difíciles de detectar.