Introducción
Un programa trabaja con datos: el tamaño de un texto, el nombre de un proyecto, si el modo oscuro está activado. Para usarlos hay que guardarlos con un nombre y operar con ellos.
Un programa trabaja con datos: el tamaño de un texto, el nombre de un proyecto, si el modo oscuro está activado.
const por defecto, let si el valor cambia; nunca var.
Tipos básicos: número, texto, booleano, undefined y null.
Plantillas con ${valor} para construir textos.
Compara con === y !==; combina con &&, || y !.
Un programa trabaja con datos: el tamaño de un texto, el nombre de un proyecto, si el modo oscuro está activado. Para usarlos hay que guardarlos con un nombre y operar con ellos.
Una variable guarda un valor para usarlo después. En JavaScript moderno se declara con const o con let:
const nombreEstudio = "Estudio Norte"; // no se va a reasignar let medida = 16; // va a cambiar medida = medida * 1.25; // ahora vale 20
const (constante): el nombre queda unido a ese valor; no se puede reasignar. Úsala por defecto. let: cuando el valor tiene que cambiar (un contador, un tamaño que crece). var es la forma antigua: la verás en tutoriales viejos, pero no la uses.
Normas para los nombres: empiezan por letra, sin espacios ni guiones, y se escriben en camelCase (colorFondo, numeroDeFormas). Que digan qué guardan: anchoCartel es mejor que x. Evita tildes y eñes aunque JavaScript las acepte: te ahorrarás problemas al compartir código.
TipoEjemplosPara qué Número (number)16, 1.25, -3Tamaños, posiciones, cantidades. Los decimales llevan punto Texto (string)"Branding", '#d62828'Nombres, colores, mensajes Booleano (boolean)true, falseSí/no: ¿está visible?, ¿es oscuro? undefinedlet color;Variable declarada sin valor todavía nulllet seleccion = null;"Vacío a propósito"
Hay además arrays y objetos, que agrupan datos (lección Arrays y objetos). El operador typeof dice el tipo de un valor: typeof 16 da "number".
const ancho = 1200; const columnas = 12; const margen = 24; const anchoColumna = (ancho - margen * 2) / columnas; // 96 const resto = 17 % 5; // 2: el resto de la división entera const cuadrado = 3 ** 2; // 9: potencia
+ - * / funcionan como en matemáticas, con la prioridad habitual (primero * y /); usa paréntesis para dejar claro el orden. El operador % (módulo) da el resto y es muy útil: n % 2 === 0 dice si un número es par, y i % 3 permite alternar tres colores.
Atajos que verás mucho: x += 5 (suma 5 a x), x *= 2, contador++ (suma 1).
const proyecto = "Festival de Otoño"; const edicion = 2026; const titulo1 = proyecto + " " + edicion; // concatenar con + const titulo2 = `${proyecto} · edición ${edicion}`; // plantilla con acento grave
Las plantillas (template literals), entre acentos graves ` `, permiten insertar cualquier valor con ${ }. Son más legibles: úsalas. Algunas utilidades de los textos: texto.length (número de caracteres), texto.toUpperCase(), texto.includes("Otoño")`.
⚠️ Atención. Cuidado con + y los textos: "5" + 3 da "53" (une textos), pero "5" * 3 da 15. Lo que llega de un prompt() o de un formulario siempre es texto; conviértelo con Number("5") antes de hacer cuentas.
Las comparaciones devuelven un booleano:
const medida = 20; medida > 16 // true medida === 20 // true: igual en valor y tipo medida !== 20 // false: distinto "20" === 20 // false: uno es texto y otro número
Usa siempre === y !== (igualdad estricta). La versión == convierte tipos por su cuenta y da resultados sorprendentes.
Para combinar condiciones: && (y), || (o) y ! (no).
Math reúne funciones matemáticas muy útiles en diseño generativo:
Reasignar una const → TypeError: Assignment to constant variable. Si tiene que cambiar, usa let. Usar una variable antes de declararla → ReferenceError. Comparar con = (asignar) en lugar de === (comparar). Sumar textos creyendo que son números ("10" + "5" da "105"). Decimales con coma: 1,25 no es un número en JavaScript; es 1.25.
Un programa trabaja con datos: el tamaño de un texto, el nombre de un proyecto, si el modo oscuro está activado.
Código del tema: const
Un programa trabaja con datos: el tamaño de un texto, el nombre de un proyecto, si el modo oscuro está activado. Para usarlos hay que guardarlos con un nombre y operar con ellos.
Una variable guarda un valor para usarlo después. En JavaScript moderno se declara con const o con let:
const nombreEstudio = "Estudio Norte"; // no se va a reasignar
let medida = 16; // va a cambiar
medida = medida * 1.25; // ahora vale 20const (constante): el nombre queda unido a ese valor; no se puede reasignar. Úsala por defecto.let: cuando el valor tiene que cambiar (un contador, un tamaño que crece).var es la forma antigua: la verás en tutoriales viejos, pero no la uses.Normas para los nombres: empiezan por letra, sin espacios ni guiones, y se escriben en camelCase (colorFondo, numeroDeFormas). Que digan qué guardan: anchoCartel es mejor que x. Evita tildes y eñes aunque JavaScript las acepte: te ahorrarás problemas al compartir código.
| Tipo | Ejemplos | Para qué |
|---|---|---|
Número (number) | 16, 1.25, -3 | Tamaños, posiciones, cantidades. Los decimales llevan punto |
Texto (string) | "Branding", '#d62828' | Nombres, colores, mensajes |
Booleano (boolean) | true, false | Sí/no: ¿está visible?, ¿es oscuro? |
undefined | let color; | Variable declarada sin valor todavía |
null | let seleccion = null; | "Vacío a propósito" |
Hay además arrays y objetos, que agrupan datos (lección Arrays y objetos). El operador typeof dice el tipo de un valor: typeof 16 da "number".
const ancho = 1200;
const columnas = 12;
const margen = 24;
const anchoColumna = (ancho - margen * 2) / columnas; // 96
const resto = 17 % 5; // 2: el resto de la división entera
const cuadrado = 3 ** 2; // 9: potencia+ - * / funcionan como en matemáticas, con la prioridad habitual (primero * y /); usa paréntesis para dejar claro el orden. El operador % (módulo) da el resto y es muy útil: n % 2 === 0 dice si un número es par, y i % 3 permite alternar tres colores.
Atajos que verás mucho: x += 5 (suma 5 a x), x *= 2, contador++ (suma 1).
const proyecto = "Festival de Otoño";
const edicion = 2026;
const titulo1 = proyecto + " " + edicion; // concatenar con +
const titulo2 = `${proyecto} · edición ${edicion}`; // plantilla con acento graveLas plantillas (template literals), entre acentos graves ` `, permiten insertar cualquier valor con ${ }. Son más legibles: úsalas. Algunas utilidades de los textos: texto.length (número de caracteres), texto.toUpperCase(), texto.includes("Otoño")`.
⚠️ Atención. Cuidado con + y los textos: "5" + 3 da "53" (une textos), pero "5" * 3 da 15. Lo que llega de un prompt() o de un formulario siempre es texto; conviértelo con Number("5") antes de hacer cuentas.
Las comparaciones devuelven un booleano:
const medida = 20;
medida > 16 // true
medida === 20 // true: igual en valor y tipo
medida !== 20 // false: distinto
"20" === 20 // false: uno es texto y otro númeroUsa siempre === y !== (igualdad estricta). La versión == convierte tipos por su cuenta y da resultados sorprendentes.
Para combinar condiciones: && (y), || (o) y ! (no).
const esOscuro = luminosidad < 50;
const esTitular = medida >= 32 && pesoFuente >= 700;
const necesitaAviso = !esLegible || contraste < 4.5;Math reúne funciones matemáticas muy útiles en diseño generativo:
const → TypeError: Assignment to constant variable. Si tiene que cambiar, usa let.ReferenceError.= (asignar) en lugar de === (comparar)."10" + "5" da "105").1,25 no es un número en JavaScript; es 1.25.