Tipos de variables en Javascript

Tipos de variables en Javascript

En la entrada sobre la sintaxis básica de las variables en Javascript vimos que una variable es un recurso de memoria del ordenador reservado para alojar una información.

Las variables tienen un continente que puede o no almacenar un contenido. El continente es imprescindible. El contenido es optativo.

En base al continente se definen varios tipos de variable según si contienen números, textos, listas, …

En algunos lenguajes pueden haber distintos tipos de variables para un tipo similar de información. Por ejemplo para el caso de los números pueden ser de tipo integer, float, double,…;  para el texto texto char, string,… cada lenguaje de programación tiene sus particularidades.

Todos los lenguajes de programación tienen en común que se usan variables. Si un lenguaje no tiene variables entonces muy probablemente no estemos programando. Seguramente estaremos escribiendo mediante un lenguaje de marcado como el html o de hojas de estilo en cascada como el css.

Tipos de variables en javascript

En javascript se distinguen 5 tipos de variables: de tipo texto (string), número, booleanas , objetos y funciones.

Los textos, números y booleanos son intuitivos. En algún momento de nuestras vidas los hemos visto en la escuela. Sin embargo los objetos y las funciones no son tan evidentes si nunca has programado.

Un objeto es un tipo de variable más abstracta que contiene información sobre las diversas características de un ente. Por ejemplo si quisiéramos almacenar los datos sobre una persona diríamos que esta tiene un peso, un nombre, una altura,… La persona sería la variable objeto. El peso, nombre, altura y diversas características de la persona serían las propiedades del objeto.

En cuanto a los objetos en javascript hay de 3 tipos. Objeto en el sentido estricto de la palabra, listas y fechas. La diferencia entre las listas y el objeto sentido estricto es que en las listas la información está numerada y ordenada y en los objetos no. Lo veremos en detalle más adelante. Vayamos por pasos.

Variables de tipo texto

Las variables de tipo texto almacenan una cadena de caracteres.

Pueden ir entre comillas simples o entre comillas dobles.

El uso de comillas simples o comillas dobles es indistinto. Lo importante es el orden de como las usamos. Si por necesidades del programa alguna vez necesitamos usar comillas simples, entonces usaríamos para la variable de tipo texto comillas simples. Y viceversa. Lo único que no es permitido es mezclar comillas simples y cerrarlas con comillas dobles. Y viceversa.

Uso de comillas simples y dobles en javascript
operaciones aritméticas con textos

Operaciones aritméticas con las variables de tipo texto

Una suma de cadenas de texto resulta en una concatenación de estas.

Cuando sumamos números encerrados dentro de un string el resultado es una concatenación de los números y no una suma aritmética.

Cuando multiplicamos números encerrados dentro de strings javascript transforma los textos en número y procesa correctamente la multiplicación.

Esta es precisamente una característica muy interesante de JS. Las variables evolucionan en tiempo real de un tipo a otro. A diferencia de otros lenguajes.

Variables de tipo numérico

Las variables numéricas almacenan números.

En javascript no hay distinción entre números enteros o con decimales. No hay integers ni floats. Todas se consideran una variable de tipo «number«. No obstante, el tiempo de cálculo y los recursos requeridos por la computadora aumentas cuando hay decimales de por medio. Además, también hay cuestiones relativas a los redondeos que hay que tener en cuenta en programación avanzada.

A diferencia de con los strings, las variables numéricas se caracterizan porqué no van entre comillas de ningún tipo.

operaciones con variables tipo número

Operaciones aritméticas con variables de tipo número

Las operaciones básicas que los números admiten son:

  • suma , +
  • resta, –
  • división, /
  • multiplicación, *
  • operación módulo (el resto de la división) %

Existen expresiones también que en realidad son abreviaciones de otras expresiones más larga.

  • x++ equivale a x = x + 1;
  • ++x equivale a x = x + 1;
  • x– equivale a x = x – 1;
  • –x equivale a x = x – 1;

En cualquiera de los casos es fundamental fijarse que el signo de (=) hace referencia a una asignación y no a una igualdad. No hay una ecuación de primer grado. Es la forma con la que le indicamos que una variable pasa a tener un nuevo valor resultado de operar con el que tenía hasta el momento.

Variables de tipo booleano

Las variables booleanas almacenan los valores true o false.

En su defecto los booleanos pueden valer 1 o 0.

operaciones con booleanos

Operaciones con variables de tipo booleano

Las operaciones básicas que los boolenos admiten son:

  • igualdad en contenido , ==
  • igualdad en tipo de variable y contenido, ===
  • negación, !
  • «no igual que«, !=
  • and, &&
  • or, ||
  • >= , mayor que o igual; <, menor que
  • <= , menor que o igual; >, mayor que

Estas operaciones responden a las tablas de la verdad del álgebra de boole.

  • si cierto y cierto –> cierto; si cierto o cierto –> cierto
  • si cierto y falso –> falso ; pero si cierto o falso –> cierto
  • si falso y  cierto –> falso ;pero si falso o cierto –> cierto
  • si falso y falso –> falso;  pero si falso o falso –> falso

A diferencia de las operaciones anteriores el signo de (==) hace referencia a una comparación y no a una asignación. Confundir = y == es un error típico cuando todavía no estamos familiarizados con el código.

Variables de tipo lista

Las variables listas son un tipo especial de objeto que almacena un inventario de contenidos ordenados que pueden ser de cualquier tipo de variable.

Una lista puede almacenar texto, números, booleanas, otras listas y objetos.

También se conocen como vectores o arreglos.

Cuando tenemos una lista de listas entonces podemos tener una matriz de datos.

Tipos de variables en Javascript 1

Propiedades de las listas

Las listas no se pueden sumar, restar o multiplicar. Para hacer operaciones entre contenidos de listas hay que llamar a los contenidos específicos de cada una de la lista con las que queremos operar.

Los datos en una lista de javascript no están ordenados (a diferencia de otros lenguajes en que si lo pueden estar).

Las listas tienen una propiedad «.length» que nos indica el número de elementos de la lista.

El primer elemento de una lista es el elemento cero.

El último elemento de una lista es el elemento «lista[lista.length-1]»

Existen una serie de operaciones programadas para las listas que se denominan métodos. Hablaremos de ellos más adelante en otra publicación.

Objetos

objetos Javascript

Los objetos son variables que nos ayudan a almacenar diversas propiedades. Pueden almacenar cualquier tipo de variable: texto, números, listas, booleanos, otros objetos e incluso funciones.

Para acceder al valor almacenado en una propiedad de un objeto devemos escribir «persona.nombrePropiedad»

Una particularidad muy importante es que los objetos no necesitan tener sus propiedades ordenadas.

Cada propiedad se separa por coma «,» a excepción de la última.

En los objetos las propiedades van encerradas dentro de «{ }»

Para hacer operaciones con los valores de las propiedades se debe hacer propiedad propiedad. Por ejemplo para concatenar el nombre y el apellido deberíamos escribir

persona.nombre + » «+ persona.apellido; sería correcto

nombre + apellido; sería incorrecto

Observación: Como curiosidad fijaros que cuando accedéis a window.alert(), document.write() o console.log() en realidad estáis accediendo a propiedades de los objetos window, document y consola que almacenan las propiedades alert(), write() y log().

Y hasta aquí esta pequeña introducción a los distintos tipos de variables que existen en Javascript y cómo podemos operar con ellas. Únicamente nos ha quedado desarrollar el tema de las funciones pero esto lo veremos el próximo día que hablemos de JS.

¡Muchas gracias a todos y todas!

Francesc Ricart
hola@francescricart.com

Aprender y enseñar. Enseñar y aprender. En el ámbito docente soy docente ocupacional. En el ámbito profesional consultor web. Ofrezco servicios de mejora continua y mantenimiento web. ¿Qué quieres aprender hoy? Encontraréis más acerca de mi en la página sobre mi

2 Comentarios
  • Jose
    Publicado a las 05:45h, 11 enero Responder

    Muy bueno este cotenido, me esta ayudando mucho aprofundizar sobre el lenguaje.

  • Francesc Ricart
    Publicado a las 12:18h, 11 enero Responder

    ¿Gracias Jose por romper el hielo!
    Se agradece 😉

Escribir un comentario

  Acepto la política de privacidad

Responsable: FRANCESC RICART MUÑOZ.

Finalidad: Gestionar los comentarios que realizas en este blog.

Destinatarios: No se cederán datos a terceros, salvo obligación legal.

Derechos: Tienes derecho a acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad.