Ir directamente al contenido de esta página

codexexempla.org

Variables

Tabla de contenidos

  1. Las variables y sus tipos
  2. Escalares
  3. Matrices

Las variables y sus tipos

Una variable no es más que un contenedor para un valor. Las variables se declaran por medio de la palabra clave var, pero a diferencia de otros lenguajes de programación en JavaScript no es necesario declarar su tipo. Unas líneas como éstas:


    var a = 15;
    var b = "gato";
            

Crea unas variables llamadas a y b que inicialmente tienen los valores de 15 y la palabra «gato» respectivamente.

Las únicas limitaciones a la hora de crear variables son:

  1. Los nombres de las variables pueden comenzar por una letra, el guión bajo (_) y el símbolo de dolar ($); el resto de los caracteres puede ser cualquier combinación de los anteriores, además de cifras. Así, registro_01, $vínculos, listaNodos o _cuñao1 son nombres correctos; 1_lista_de_cosas, elementos-lista o nuevo%elemento no.
  2. Los nombres de variables no pueden coincidir con palabras clave pertenecientes a la propia sintaxis de JavaScript, ni con las palabras reservadas, una lista de palabras que se considerá que en el futuro tendrán un significado propio. Dejo un .txt donde las recojo.

Hay una serie de convenciones — con nombres curiosos— para nombrar variables:

  • Notación camelCase: Se escribe la primera palabra del nombre en minúscula, y si el nombre consiste en varias, las siguientes se empiezan por mayúsculas: listaCamposFormulario.
  • Notación Pascal: Cada palabra que forme el nombre de la variable se empieza en mayúscula: ListaCamposFormulario.
  • Notación «tipo húngaro»: Cada palabra que forme el nombre de la variable se empieza en mayúscula, como en la anterior, pero inicialmente se escribe una minúscula que indica el tipo de variable de la que se trata: aListaCamposFormulario; la a indicaría que la variable es una matriz, en inglés array.

En realidad, ninguna es mejor o peor: lo importante es elegir una y ser consistente a la hora de aplicarla, y que los nombres de las variables sean descriptivos. En serio, esto ahorra horas de revisión.

En cuanto a su tipología, las variables se dividen en:

Vamos a verlos por separado.

Escalares

Los escalares son variables que corresponden a lo que se conoce como tipos primitivos, que son los tipos de datos más simples que se pueden definir. Según esto, los esclares pueden ser:

Este ejemplo interactivo puede aclarar un poco mejor los tipos de escalares.

Para el caso de las cadenas de literales, hay dos puntuaciones que hacer.

Primero, existen una serie de valores especiales para las cadenas de literales:

Caracteres especiales para cadenas de literales
Caracter Lo que representa
\n Salto de línea
\r Retorno de carro
\t Tabulación
\0nnn Un caracter representado por su valor octal, donde «n» es un valor entre 0 y 7
\xnn Un caracter representado por su valor hexadecimal, donde «n» es un valor entre 0 y F
\unnnn Un caracter de Unicode representado por su valor hexadecimal, donde «n» es un valor entre 0 y F

Segundo, cuando se incluyen como caracteres de una cadena caracteres propios de la sintaxis de JavaScript, debe escaparse, es decir, incluir una barra invertida (\) antes de ellos, para evitar errores de interpretación, por ejemplo antes de una comilla doble, o de la propia barra invertida.

Pasemos ahora a las matrices.

Matrices

Deliberadamente cometo un error: técnicamente, Array es un objeto nativo de JavaScript, pero me parece que es más intuitivo para los neófitos presentar las matrices como variables que pueden almacenar varios valores. No obstante, lo «subsano» en la subsección del curso dedicada al objeto Array.

Una matriz almacena diversos valores3, a los que se accede haciendo referencia al índice del valor. Cuando se conocen los valores, se pueden declarar de esta manera:


    var vientos = new Array("Bóreas","Céfiro","Noto","Euro");
            

o de esta otra:


    var vientos = new Array();
        vientos[0] = "Bóreas";
        vientos[1] = "Céfiro";
        vientos[2] = "Noto";
        vientos[3] = "Euro";
            

aunque también se pueden crear sin asignarles valores inmediatamente:


    var vientos = new Array();
            

Para acceder a los valores almacenados, simplemente habría que indicar el índice —la posición— que ocupan, comenzando por el cero. Así, para apuntar al valor Céfiro emplearíamos vientos[1].

Las matrices pueden, asu vez, ser unidimensionales, como la anterior, o multidimensionales, cuando se trata de una matriz compuesta no por escalares, sino por otras matrices:


    var sucesiones = new Array();
        suceciones[0] = new Array("2","4","6","8","10");
        suceciones[1] = new Array("2","4","8","16","32");
            

Para acceder a sus valores se hace referencia al índice que ocupa la segunda matriz dentro de la primera, y a la posición del valor que se quiere extraer en aquella. Por ejemplo, si quisiéramos extraer el valor 16, haríamos referencia a él por medio de sucesiones[1][3].

Al principio puede resultar un tanto confuso, pero resulta mucho más sencillo si se piensa en una matriz multidimensional como una tabla de datos:


         COLUMNAS (Matrices secundarias)   0   1   2   3    4
    
           FILAS (Matriz principal)   0   |2| |4| |6| | 8| |10|
                                      1   |2| |4| |8| |16| |32|
            

sucesiones[1][3] sería como pedir «dime el valor que se encuentra en la fila 1, columna 3».

Como para los escalares, dejo un ejemplo para hacer más comprensibles las matrices.

Más adelante veremos cómo trabajar con ellas en la sección dedicada al objeto Array, pero sobre todo veremos que es esencial comprenderlas a la hora de trabajar con el DOM.

Notas

  1. Sí, se pueden emplear acentos y la «ñ»; de hecho, una de las cuestiones por las que JavaScript 1.2 no era conforme a ECMA-262 era que no soportaba el estándar Unicode. Lo que sí es cierto es que para evitar errores de sintaxis de esos que te hacen dar vueltas toda una tarde alrededor de tres líneas de código es mejor aplicar las convenciones que se aplican a los nombres de archivos. Volver
  2. Reciben este nombre en honor a George Boole. Volver
  3. El límite de valores que puede almacenar una matriz es 4294967295. Volver

Contacto

En virtud de la Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal le informo de que los datos que proporcione no serán empleados para otro fin que el de responder a su mensaje. En especial, me comprometo a no cederlos a terceros ni a emplearlos para enviar información no solicitada.

Del blog de Digital Icon