¿Ya dominas lo básico? Un curso estructurado de JavaScript es la vía rápida para dar el salto.
Ver cursos de JavaScript en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Crear variables
- 03Condicionales (sentencias if)
- 04Bucles (sentencias for)
- 05Crear funciones
- 06Trabajar con arrays
- 07Trabajar con objetos
- 08Bucles (sentencias while)
- 09Trabajar con cadenas de texto
- 10Usar clases (programación orientada a objetos)
- 11Gestión de errores (try...catch)
- 12Desestructuración y sintaxis de propagación
- 13Código asíncrono (Promise / async y await)
- 14Métodos avanzados de arrays (filter y reduce)
- 15La sentencia switch
- 16El operador ternario
- 17Herencia (extender clases)
- 18Cómo escribir comentarios
- 19Operadores lógicos (AND, OR, NOT)
- 20Constantes (valores de solo lectura con const)
- 21Dividir y unir cadenas (split y join)
- 22Sintaxis segura frente a null (?? y ?.)
- 23Buscar en arrays y colecciones (includes y find)
- 24Transformar arrays con map
- 25Arrays bidimensionales (datos en forma de tabla)
- 26Crear una clase de error propia
- 27Argumentos por defecto (valores iniciales de los parámetros)
- 28Usar Set (colecciones)
- 29Verificar con assert (tu primer paso hacia las pruebas)
- 30Funciones de orden superior (pasar una función como argumento)
- 31Pilas y colas (estructuras de datos básicas)
- 32Fundamentos de la conversión de tipos
- 33Introducción a las expresiones regulares
- 34El algoritmo de búsqueda binaria
- 35Construir un cifrado César (desplazar letras)
- 36Entender cómo funciona la ordenación de burbuja
- 37Construir y mostrar fechas (año, mes y día)
- 38Escribir varias pruebas unitarias juntas (casos de prueba)
- 39Acelerar cálculos con memoización (caché)
- 40Normalizar cadenas (trim y unificar mayúsculas)
- 41La diferencia entre copia superficial y copia profunda
- 42Fundamentos de los Enum (tipos enumerados)
- 43Aplanar arrays (flatten)
- 44Invertir una cadena y detectar un palíndromo
- 45Emparejar dos arrays (una operación zip)
- 46Redondear números (floor, ceil y round)
- 47Cadenas de varias líneas (plantillas literales)
- 48Devolver varios valores desde una función (desestructurar arrays)
- 49Calcular el MCD y el MCM (algoritmo de Euclides)
- 50Dar formato a números (alinear dígitos y decimales)
- 51Lógica de limpieza con try/catch/finally
- 52Escribir funciones genéricas que no dependen del tipo
- 53Fundamentos de Map (un objeto para pares clave-valor)
- 54Generar números aleatorios
- 55Operaciones a nivel de bits (AND, OR, XOR y desplazamientos)
- 56Usar static (propiedades y métodos estáticos)
- 57Esperar un tiempo fijo (setTimeout y await)
- 58Cuidado con el error de redondeo en coma flotante
- 59Transformar y aplanar de una vez con flatMap()
- 60FizzBuzz (el ejercicio clásico)
- 61Comprobar si un número es primo
- 62Operaciones de conjuntos con Set (unión, intersección y diferencia)
- 63Convertir bases numéricas (binario y hexadecimal)
- 64Comprobar que los paréntesis casan (aplicación de pilas)
- 65Comprobar un anagrama
- 66Comprobar si un año es bisiesto
- 67Convertir temperaturas (Celsius ⇄ Fahrenheit)
- 68Calcular la descomposición en factores primos
- 69[Aplicado] Construye una lista de tareas sencilla
Constantes (valores de solo lectura con const)
En esta lección aprenderás a crear constantes en JavaScript con const, para evitar cambios accidentales de valor y escribir código más seguro. Está dirigida a quien busca «diferencia entre const y let en JavaScript» o «cómo crear una constante en JavaScript».
Una variable creada con const lanza un error si intentas cambiar su valor después. Eso te protege del fallo de sobrescribir un valor sin querer, así que la regla básica es: usa const en lugar de let siempre que no pienses cambiar el valor. En proyectos reales lo recomendado es usar const por defecto y pasar a let solo cuando descubras que de verdad necesitas reasignar.
El código de ejemplo declara una constante llamada MAX_SCORE, muestra su valor y después provoca a propósito un error intentando reasignarla con MAX_SCORE = 200. Como se captura con try...catch, puedes ver exactamente qué aspecto tiene el mensaje de error. Escribir el nombre de una constante en mayúsculas con guiones bajos, como MAX_SCORE, es una convención usada en muchos lenguajes para señalar «un valor que no cambia».
Un tropiezo habitual al empezar es que, incluso con const, el «contenido» de un objeto o array declarado así sí se puede cambiar. Lo que const prohíbe es solo «reasignar la propia variable»: cambiar una propiedad de un objeto o los elementos de un array está perfectamente permitido. Sin entender esta distinción, es fácil quedarse desconcertado pensando «¿por qué cambió el contenido si es const?».
En el desarrollo real, «const por defecto» es una regla básica muy extendida en los equipos para prevenir cambios no deseados. Es un hábito tan valorado que en las revisiones de código a veces se señala un valor que nunca debería cambiar y aun así se declaró con let.
Si además quieres impedir que se cambie el contenido de un objeto o array declarado con const, de forma más estricta, usas Object.freeze(). Combinar const y Object.freeze() impide tanto la reasignación de la variable como los cambios en sus propiedades.
Una variable declarada con let no solo puede reasignarse a propósito: también puede sobrescribirse por accidente dentro de un bucle sin que te des cuenta. Para prevenir también ese tipo de accidentes, es buen hábito pensar en el orden «empieza con const, pasa a let solo si hace falta».
💡 Todo lo que pases a console.log() aparece en la salida de abajo.
