Módulo 2 · Fundamentos de Programación

Qué es una variable

Una variable es un nombre que guarda un dato para usarlo después. Qué es, cómo se declara con let y const, cómo nombrarlas y los errores típicos al empezar.

Definición rápida

Una variable es un nombre asociado a un espacio de memoria donde se guarda un dato que el programa puede leer y modificar después.

Una variable es un nombre que le pones a un dato para poder recuperarlo y usarlo después. Es el mecanismo más básico de cualquier lenguaje de programación: sin variables no puedes guardar nada, y sin guardar nada no puedes calcular nada que dependa de un paso anterior.

La idea, sin metáforas raras

Piensa en un armario con cajones etiquetados. precio es la etiqueta; 100 es lo que hay dentro. Cuando el programa necesita el precio no busca «el número 100 que estaba por ahí»: abre el cajón precio y lee lo que haya en ese momento.

Eso último es la clave. El contenido puede cambiar; la etiqueta sigue siendo la misma. De ahí el nombre: variable.

Cómo se declara en JavaScript

Hay dos formas que vas a usar todos los días:

let contador = 0;        // puede cambiar de valor
const IVA = 0.21;        // no se puede reasignar

contador = contador + 1; // válido: ahora contador vale 1
// IVA = 0.10;           // error: Assignment to constant variable

La regla práctica: declara todo con const y cambia a let solo cuando compruebes que necesitas reasignar. No es purismo, es que así el propio lenguaje te avisa cuando modificas por error algo que no debía cambiar.

Declarar y asignar son dos cosas distintas, aunque casi siempre se hagan juntas:

let nombre;              // declarada, sin valor: vale undefined
nombre = "Ana";          // asignada

Los nombres importan más de lo que parece

Un nombre bien elegido hace que el código se lea sin esfuerzo y evita errores tontos. Compara:

// difícil de mantener
const x = 1200;
const y = 0.21;
const z = x + x * y;

// evidente
const precioBase = 1200;
const iva = 0.21;
const precioFinal = precioBase + precioBase * iva;

El segundo bloque no necesita comentarios. Reglas que funcionan: camelCase, singular para un dato y plural para una lista (nota frente a notas), y nombres suficientemente largos para ser claros. Una sola letra solo se acepta como índice de un bucle o en algo matemático muy corto.

Errores típicos al empezar

  • Usar una variable antes de declararla. Provoca ReferenceError y casi siempre es una errata: precioTotal frente a preciototal.
  • Reasignar una const. Si el valor tiene que cambiar, era let desde el principio.
  • Creer que dos variables comparten valor. let b = a; copia el valor en ese instante cuando se trata de números o textos; cambiar a después no toca b. Con arrays y objetos el comportamiento es distinto, porque ahí se copia la referencia y no el contenido.
  • Confundir el nombre con el contenido. Llamar total a algo que guarda una nota media deja el error invisible durante horas.

Variables y tipos de datos

En JavaScript una variable no está limitada a un tipo: puede guardar un número, un texto, un booleano, un array o un objeto. Eso da flexibilidad y también permite errores silenciosos, como sumar un texto con un número y obtener "105". Por eso conviene tener claros los tipos de datos desde el principio.

Y una variable declarada dentro de un bloque —dentro de un if, por ejemplo— no existe fuera de él. Eso se llama ámbito, y es la causa habitual del «esto valía algo y ahora vale undefined».

Cómo se practica esto en el curso

En el módulo 2 declaras tus primeras variables y las usas en ejercicios autocorregibles: suma de variables, cálculo de propina y total, promedio ponderado. Escribes el código en el navegador, se ejecuta contra una batería de tests y obtienes nota inmediata; hace falta un 8/10 para pasar a la lección siguiente. Ese módulo es gratis: mira el temario y empieza sin registrarte.

Preguntas frecuentes

¿Cuál es la diferencia entre let y const?

Con let puedes reasignar el valor más adelante; con const no. Usa const por defecto y cambia a let solo cuando sepas que el valor va a variar: te ahorra errores.

¿Puedo poner cualquier nombre a una variable?

Casi: no puede empezar por un número, no admite espacios ni guiones y no puede ser una palabra reservada del lenguaje como for o return. Evita también acentos y ñ, aunque técnicamente se permitan.

¿Qué pasa si uso una variable que no he declarado?

El programa se detiene con un ReferenceError. Es uno de los fallos más frecuentes al empezar y casi siempre es una errata en el nombre, porque JavaScript distingue mayúsculas de minúsculas.