BUSCAR EN EL SITIO
Encuentra lo que necesitas aprender.
Busca entre lecciones, ejercicios, proyectos y errores; sin cuentas ni algoritmos de recomendación opacos.
LecciónEntiende qué hace JavaScript en una páginaIdentificar qué parte de una web corresponde a JavaScript.LecciónEjecuta instrucciones y distingue código, consola y resultadoEjecutar instrucciones y reconocer qué se imprime.LecciónReconoce números, texto, booleanos, null y undefinedReconocer distintos tipos de valores.LecciónGuarda y actualiza valores con const y letDistinguir entre una vinculación fija y una reasignable.LecciónConstruye expresiones y realiza conversiones explícitasCalcular un total evitando conversiones inesperadas.LecciónCrea preguntas que producen booleanosConstruir condiciones con resultado true o false.LecciónCompara con ===, !== y límites numéricosComparar sin conversiones implícitas.LecciónDistingue valores truthy/falsy sin adivinarExplicar la conversión booleana de valores frecuentes.LecciónElige una rama con if, else if y elseSeleccionar exactamente un mensaje según un valor.LecciónCombina condiciones y evita decisiones confusasAplicar &&, || y ! correctamente.LecciónGuarda varios datos en un arrayCrear un array y consultar sus elementos.LecciónCambia elementos sin confundir índice y longitudModificar y añadir datos a una lista.LecciónRecorre posiciones con forRepetir una acción con un contador y un límite.LecciónRepite con while y garantiza la salida del bucleEscribir un bucle con condición de salida visible.LecciónRecorre valores con for...of, break y continueRecorrer una lista sin usar índices.LecciónLimpia y combina cadenas y plantillas literalesConstruir un saludo limpio a partir de un texto.LecciónConsulta y transforma texto con métodos útilesLocalizar información y transformar una cadena.LecciónDescribe entidades con objetos y propiedadesRepresentar un elemento mediante propiedades con nombre.LecciónElige entre objeto, array y datos anidadosModelar una lista de objetos con información relacionada.LecciónDesestructura datos y copia con spread sin confundir copias superficialesExtraer propiedades y crear una copia superficial.LecciónEncapsula una tarea en una funciónDeclarar y llamar una función.LecciónDiseña parámetros, argumentos y returnDevolver un resultado calculado a partir de entradas.LecciónEntiende ámbito de bloque y evita depender de variables globalesExplicar dónde existe una variable declarada con let o const.LecciónUsa funciones flecha y callbacks con criterioPasar una función para que otra la ejecute.LecciónDivide un problema en funciones pequeñas que colaboranSeparar cálculo, formato y presentación.LecciónDistingue DOM, documento y elementos HTMLIdentificar un nodo de la página que JavaScript puede modificar.LecciónEncuentra elementos y actualiza texto y atributosSeleccionar un elemento y modificar su contenido seguro.LecciónCambia clases sin mezclar estructura y estilosActivar un aspecto visual sin modificar estilos en línea.LecciónCrea, inserta y elimina nodos de forma seguraCrear un elemento sin componer HTML de usuario.LecciónRepresenta una lista de datos como elementos visiblesDibujar una lista a partir de datos.LecciónResponde a clics con addEventListenerEscuchar un evento y cambiar la interfaz.LecciónIdentifica event.target y currentTargetDistinguir el elemento que inició un evento y el que lo escucha.LecciónProcesa formularios y valida entradasPrevenir el envío y comprobar una entrada.LecciónSepara estado, renderizado y acciones en una interfaz pequeñaConectar un valor con el texto de un contador.LecciónUsa delegación de eventos para elementos dinámicosGestionar clics en elementos creados más tarde.LecciónTransforma y busca elementos con map, filter y findDistinguir transformación, filtrado y búsqueda.LecciónAcumula con reduce cuando mejora la claridadCalcular una suma a partir de una lista.LecciónConvierte datos con JSON y guarda preferenciasSerializar un objeto y recuperar su contenido.LecciónManeja fallos concretos con throw, try y catchExpresar un fallo e informar sin ocultarlo.LecciónMuestra datos de usuario sin introducir HTML inseguroMostrar texto arbitrario sin interpretarlo como marcado.LecciónObserva temporizadores y tareas de ejecuciónPredecir qué aparece primero en una tarea síncrona y un temporizador.LecciónReconoce los estados de una promesaConsumir correctamente un valor asíncrono.LecciónEscribe flujos legibles con async y awaitObtener el resultado de una función asíncrona.LecciónPide datos con fetch y comprueba response.okExplicar el patrón de una petición HTTP.LecciónGestiona carga, vacío, error y cancelaciónReconocer los cuatro estados de una petición en una interfaz.LecciónOrganiza archivos con import y exportIdentificar los límites entre módulos.LecciónDistingue navegador, dependencias y npmExplicar la función de Node.js y npm sin confundirlos.LecciónDepura con breakpoints y herramientas de desarrolloReducir un error a un caso reproducible.LecciónEjecuta JavaScript fuera del navegador con Node.jsIdentificar qué APIs ofrece cada entorno.LecciónEstructura una aplicación en módulos manteniblesProponer responsabilidades para tres archivos.LecciónComprueba funciones con pruebas automatizadas sencillasVerificar dos ejemplos de una función con assert.LecciónPrueba límites y entradas inesperadasProbar el borde de un intervalo y entradas no válidas.LecciónEncuentra la causa de un fallo antes de cambiar códigoExplicar un fallo de índice fuera de rango.LecciónConstruye interacciones accesibles para teclado y lector de pantallaUsar controles HTML semánticos para una acción.LecciónEvita trabajo innecesario y limpia efectos cuando correspondeEvitar duplicar escuchas al volver a inicializar.LecciónProyecto: cuestionario interactivo con puntuación y reinicioConstruir un cuestionario con respuestas y puntuación.LecciónProyecto: gestor de tareas con filtros y persistenciaDefinir un modelo de tarea con identificador y estado.LecciónProyecto: catálogo con búsqueda, orden y estado vacíoCrear un filtro de productos que no dependa del DOM.LecciónProyecto: explorador de datos de API con carga y errorRepresentar un recurso remoto como estados visibles.LecciónReto final: resuelve un problema nuevo y decide qué repasarDescomponer una idea propia en datos, acciones y resultado.EjercicioDuplica un númeroImplementa doble(n), que devuelva el número multiplicado por dos.EjercicioConstruye un saludoImplementa saludo(nombre), que devuelva "Hola, NOMBRE". No uses console.log como resultado.EjercicioCalcula el precio totalImplementa total(precio, cantidad). Devuelve el importe multiplicado, incluso si cantidad es 0.EjercicioComprueba una edadImplementa esMayor(edad). Devuelve true para edades de 18 en adelante y false para las demás.EjercicioClasifica una notaImplementa clasificar(nota): "excelente" si es 9 o más, "aprobado" si es al menos 5 y "repasar" en los demás casos.EjercicioRevisa dos requisitosImplementa acceso(edad, entrada). Devuelve true solo si edad >= 18 y entrada es true.EjercicioEncuentra el último elementoImplementa ultimo(lista), que devuelva el último elemento o undefined si la lista está vacía.EjercicioSuma una listaImplementa sumar(lista) y devuelve la suma de sus números. Una lista vacía debe producir 0.EjercicioFiltra valores paresImplementa pares(lista) y devuelve un array nuevo con los números pares en el mismo orden.EjercicioExtrae los nombresImplementa nombres(personas) y devuelve un array con la propiedad nombre de cada objeto, respetando el orden.EjercicioBusca un objeto por IDImplementa buscar(lista, id) y devuelve el objeto con ese id. Si no existe, devuelve null.EjercicioFormatea un precioImplementa euros(cantidad), que devuelva exactamente dos decimales y el texto " €" al final.EjercicioCuenta letras tras limpiarImplementa longitudLimpia(texto). Devuelve la cantidad de caracteres tras quitar espacios de los extremos.EjercicioBusca ignorando mayúsculasImplementa contiene(texto, consulta). Devuelve true si el texto contiene la consulta sin distinguir mayúsculas.EjercicioFiltra tareas no completadasImplementa pendientes(tareas), que devuelva un array nuevo de tareas donde hecha sea false. Este dato después se dibuja en el DOM.EjercicioAlterna una tarea sin mutarlaImplementa alternar(tarea), que devuelva un objeto nuevo con hecha invertido, sin modificar el original.EjercicioDescribe el estado de una cargaImplementa async resumen(p), que espere la promesa p y devuelva "listo" si se resuelve o "error" si se rechaza.EjercicioFiltra productos disponiblesImplementa disponibles(productos, maximo), que devuelva nombres de productos con stock > 0 y precio <= maximo.ProyectoCuestionario interactivoCrea preguntas, comprueba respuestas y muestra una puntuación final.ProyectoGestor de tareasAñade, completa, filtra y guarda tareas en tu propio navegador.ProyectoCatálogo interactivoFiltra artículos, ordena resultados y diseña un estado vacío útil.ProyectoExplorador de datosVisualiza estados de carga, error y cancelación con datos reproducibles.ErrorSyntaxError: sintaxis incorrectaJavaScript no puede interpretar una instrucción porque su estructura está incompleta o no cumple la sintaxis.ErrorReferenceError: nombre no disponibleIntentas utilizar un identificador que no existe o que no es accesible desde ese ámbito.ErrorTypeError: operación no válidaEl tipo del valor no permite la operación que intentas hacer.ErrorRangeError: valor fuera de límitesUna operación ha recibido un valor fuera del intervalo permitido por JavaScript o ha agotado la pila de llamadas.ErrorURIError: URI mal codificadaLa función que codifica o descodifica una URI ha encontrado una secuencia inválida.ErrorCannot read properties of undefinedEl programa está intentando acceder a una propiedad de undefined (o de null).ErrorquerySelector devuelve nulldocument.querySelector devuelve null cuando no encuentra un elemento que coincida con el selector.ErrorProblemas con import y exportLa importación falla cuando el entorno, la ruta o los nombres exportados no coinciden con lo que espera el módulo.Errorfetch: red, CORS y HTTP 404fetch rechaza ante ciertos fallos de red, pero no rechaza automáticamente por respuestas HTTP 404 o 500.ErrorPromesa rechazada sin manejarUna operación asíncrona ha fallado y el rechazo de su promesa no se ha tratado.Erroris not a function: intentar llamar algo que no es funciónSe están utilizando paréntesis de llamada sobre un valor que no es una función.ErrorCannot access before initialization (TDZ)Intentas leer una variable let o const antes de que se ejecute su declaración.ErrorUnexpected token al leer JSONJSON.parse o response.json() ha recibido contenido que no es JSON válido.ErrorCORS: el navegador bloquea la respuestaEl navegador impide que una página lea una respuesta de otro origen si el servidor no autoriza el acceso mediante CORS.GlosarioAlgoritmoSecuencia finita de pasos para resolver un problema.GlosarioArgumentoValor concreto que pasas cuando llamas a una función.GlosarioArrayColección ordenada de elementos, consultados mediante índices.GlosarioAsincroníaCoordinación de tareas cuyo resultado puede llegar más tarde.GlosarioAtributoDato asociado a una etiqueta HTML, como id o aria-label.GlosarioBooleanoValor lógico true o false.GlosarioCallbackFunción entregada a otra función para ejecutarse más tarde o por cada elemento.GlosarioClase CSSNombre utilizado para aplicar reglas de estilo a elementos.GlosarioClosureFunción que conserva acceso a variables de su entorno de creación.GlosarioCondicionalEstructura que elige acciones según una condición.GlosarioConsolaHerramienta para observar mensajes y errores durante el desarrollo.GlosarioconstDeclaración de una vinculación que no puede reasignarse.GlosarioDOMModelo en objetos de un documento HTML utilizado para consultar y modificar nodos.GlosarioEventoNotificación de una interacción o cambio que puede escuchar una función.GlosarioExpresiónFragmento de código que produce un valor.GlosariofetchAPI web para iniciar peticiones de recursos, normalmente HTTP.GlosariofilterMétodo que crea un array con elementos que superan una condición.GlosarioFunciónBloque de código reutilizable que puede recibir datos y devolver un valor.GlosarioHoistingComportamiento por el que ciertas declaraciones son accesibles según las reglas de inicialización y ámbito.GlosarioÍndicePosición numérica de un elemento en un array; empieza en cero.GlosarioJSONFormato de texto para representar datos estructurados.GlosarioletDeclaración de una variable reasignable con ámbito de bloque.GlosariolocalStorageAlmacenamiento de pares clave-valor en el navegador.GlosariomapMétodo que devuelve un nuevo array transformando cada elemento.GlosarioMóduloArchivo JavaScript que importa o exporta funcionalidades.GlosarioNaNValor numérico especial que representa un resultado no numérico.GlosarionullValor utilizado para representar intencionadamente ausencia de valor.GlosarioObjetoEstructura con propiedades identificadas por claves.GlosarioParámetroNombre local que recibe una función para trabajar con un argumento.GlosarioPromesaObjeto que representa una operación eventual pendiente, cumplida o rechazada.GlosarioquerySelectorMétodo DOM que devuelve el primer elemento que coincide con un selector CSS.GlosarioreduceMétodo de array que acumula valores en un resultado.GlosarioreturnInstrucción que termina la ejecución de una función y devuelve un valor.GlosarioScope (ámbito)Reglas que determinan dónde se puede acceder a cada variable.GlosariosetTimeoutAPI que programa una función para un momento posterior.GlosarioTemplate literalCadena con comillas invertidas que permite interpolar expresiones.GlosariothisValor asociado al contexto de una llamada, según el modo en que se invoca.Glosariotruthy/falsyForma en que un valor se interpreta al convertirlo a booleano.GlosarioundefinedValor usado, entre otros casos, cuando una variable o propiedad no tiene valor asignado.GlosarioVariableNombre que referencia un valor en el programa.
No hay resultados. Prueba otro concepto, o explora el curso completo.