Imagen del curso gratis JavaScript - Curso DESDE 0: Aprende a Programar Paso a Paso

Curso en línea gratuitoJavaScript - Curso DESDE 0: Aprende a Programar Paso a Paso

Duración del curso en línea: 23 horas y 29 minutos

Nuevo

Domina JavaScript desde cero y crea páginas web interactivas. Curso online gratis con prácticas, DOM, APIs y async/await para impulsar tu perfil junior.

En este curso gratuito, aprenda sobre

  • Cómo empezar a aprender JS desde cero y qué conocimientos previos convienen
  • Vincular un archivo JS al HTML y ejecutar código en el navegador
  • Variables (let/const), tipos, tipado débil/dinámico y conversión a boolean
  • Strings: métodos, template literals con backticks y operadores básicos (%, ++)
  • Uso de console (log, table, etc.) y depuración con breakpoints en DevTools
  • Control de flujo: if/else, switch (break), ternario, truthy/falsy y comparadores
  • Operadores lógicos: OR (||) y diferencia con Nullish coalescing (??)
  • Bucles: for, while, do...while, for...of, for...in; break vs continue
  • Funciones: declaración vs hoisting, arrow functions, callbacks y anónimas
  • Objetos: acceso por punto/corchetes, comprobar propiedades y constructoras
  • Arrays y métodos: push/pop, forEach, map, filter, reduce, find/findIndex
  • Valor vs referencia; spread, copias shallow/deep, destructuring y optional chaining
  • Asincronía: setTimeout/setInterval, promesas, async/await y fetch + response.json()
  • DOM: seleccionar, manipular y crear elementos; eventos, preventDefault y storage

Descripción del curso

Aprender JavaScript es uno de los pasos más sólidos para entrar en el desarrollo web: te permite añadir interactividad, lógica y dinamismo a cualquier sitio, y es la base de gran parte del ecosistema moderno. Este curso online está diseñado para guiarte desde los primeros conceptos hasta el punto en el que puedas construir funcionalidades reales con confianza, sin necesitar experiencia previa en programación.

A lo largo del recorrido, desarrollarás una comprensión clara de cómo se escribe y se ejecuta código en el navegador, cómo pensar como programador/a y cómo evitar los errores más comunes al empezar. Te familiarizarás con el trabajo con variables, tipos de datos y operadores, y aprenderás a tomar decisiones con condicionales y a automatizar tareas con bucles. También reforzarás buenas prácticas para comparar valores, convertir tipos y depurar con herramientas del navegador, algo esencial para avanzar con autonomía.

El curso pone especial énfasis en las habilidades que más se usan en proyectos reales: funciones y variantes modernas como arrow functions, el uso de callbacks, y el manejo correcto de objetos y arrays con métodos habituales para transformar, filtrar y resumir información. Entenderás cómo se comportan los datos al copiarse o compartirse, y conocerás herramientas actuales como spread, destructuring, optional chaining y nullish coalescing para escribir código más legible y robusto.

Para dar el salto a experiencias completas en la web, trabajarás la asincronía: temporizadores, promesas y el flujo async/await. Además, aprenderás a comunicarte con APIs mediante peticiones y a procesar respuestas de forma adecuada, una habilidad clave para aplicaciones que consumen datos en tiempo real.

La parte final se enfoca en el DOM: cómo seleccionar elementos, modificarlos, crear contenido dinámico y reaccionar a acciones del usuario mediante eventos. También conocerás el almacenamiento en el navegador para guardar información y crear comportamientos persistentes, y verás ejemplos aplicados que conectan datos externos con la interfaz. Al terminar, tendrás una base sólida para continuar hacia librerías y frameworks, y para abordar proyectos prácticos de desarrollo web con mayor seguridad.

Contenido del curso

  • Lección en vídeo: JavaScript - Curso desde 0 - ¿Cómo se aprende JavaScript? - Todo lo que necesitas 05m
  • Ejercicio: ¿Qué conocimientos previos se recomiendan para empezar el curso de JavaScript desde cero?
  • Lección en vídeo: JavaScript 01 - Introducción y primeros pasos 11m
  • Ejercicio: ¿Qué se debe hacer en el HTML para conectar (vincular) un archivo JavaScript externo y empezar a ejecutar código en el navegador?
  • Lección en vídeo: JavaScript 02 - Variables 21m
  • Ejercicio: ¿Cuál es la diferencia principal entre declarar una variable con let y con const en JavaScript?
  • Lección en vídeo: JavaScript 03 - ¿Tiene Tipado FUERTE o DÉBIL? ¿Estático o Dinámico? ¿Cuál es la diferencia? 04m
  • Lección en vídeo: JavaScript 04 - Strings - Diferentes tipos y Métodos de los string 20m
  • Ejercicio: ¿Cuál es la principal ventaja de usar backticks (`) en un string de JavaScript?
  • Lección en vídeo: JavaScript 05 - Operadores básicos, autoincremento y módulo % 11m
  • Ejercicio: ¿Qué devuelve el operador módulo (%) en JavaScript?
  • Lección en vídeo: JavaScript 06 - Cómo mostrar mensajes por consola de diferentes formas 04m
  • Ejercicio: ¿Qué método de consola permite mostrar un array de objetos en formato de tabla para verlo más cómodo visualmente?
  • Lección en vídeo: JavaScript 07 - Depuración, Breakpoints y Comentarios 05m
  • Ejercicio: ¿Qué efecto tiene crear un breakpoint en una línea dentro de la pestaña Sources de Chrome DevTools?
  • Lección en vídeo: JavaScript 08 - Condicionales: IF / ELSE 07m
  • Ejercicio: En una cadena if / else if / else en JavaScript, ¿qué ocurre cuando una condición se cumple?
  • Lección en vídeo: JavaScript 09 - Condicionales: SWITCH 04m
  • Ejercicio: En una sentencia switch en JavaScript, ¿para qué sirve la palabra reservada break al final de un case?
  • Lección en vídeo: JavaScript 10 - Ternarios ? : (audio mejorado) 02m
  • Ejercicio: ¿Cuál es la sintaxis correcta de un operador ternario en JavaScript para reemplazar un if/else?
  • Lección en vídeo: JavaScript 11 - Truthy 02m
  • Ejercicio: ¿Cuál de los siguientes valores se evalúa como falsy en una condición if en JavaScript?
  • Lección en vídeo: JavaScript 12 - Comparadores 10m
  • Lección en vídeo: JavaScript 13 - == vs === - Cuál es la diferencia entre el doble igual y el triple igual 02m
  • Ejercicio: En JavaScript, ¿cuál es la diferencia principal entre '==' y '==='?
  • Lección en vídeo: JavaScript 14 - 07m
  • Ejercicio: En JavaScript, ¿qué devuelve la expresión usando OR (||) cuando el primer operando es truthy (por ejemplo, 1)?
  • Lección en vídeo: JavaScript 15 - Como convertir cualquier variable a un Booleano 03m
  • Ejercicio: ¿Cuál de estas formas convierte un valor cualquiera a un booleano real (true/false) en JavaScript?
  • Lección en vídeo: JavaScript 16 - Loops: Bucle For 08m
  • Ejercicio: ¿Cuál es la estructura correcta de un bucle for en JavaScript y qué representa cada una de sus tres partes dentro de los paréntesis?
  • Lección en vídeo: JavaScript 17 - Loops: Bucle While 06m
  • Ejercicio: ¿Cuál es la diferencia principal entre un bucle while y un do...while en JavaScript?
  • Lección en vídeo: JavaScript 18 - Loops: Bucles for of, for in 08m
  • Ejercicio: ¿Cuál es el uso principal del bucle for...of en JavaScript según lo explicado?
  • Lección en vídeo: JavaScript 19 - Loops: Break 04m
  • Ejercicio: ¿Cuál es la diferencia principal entre break y continue dentro de un bucle en JavaScript?
  • Lección en vídeo: JavaScript 20 - Funciones 18m
  • Ejercicio: ¿Cuál es la diferencia clave al intentar ejecutar una función antes de declararla en JavaScript?
  • Lección en vídeo: JavaScript 21 - Arrow Functions 05m
  • Ejercicio: En una arrow function con un solo parámetro y una única línea que devuelve un valor, ¿qué elementos de sintaxis se pueden omitir según el curso?
  • Lección en vídeo: JavaScript 22 - Callbacks 04m
  • Ejercicio: ¿Qué es un callback en JavaScript?
  • Lección en vídeo: JavaScript 23 - Funciones Anónimas, Callbacks 11m
  • Ejercicio: ¿Cuál es la forma más habitual de pasar un callback a una función en JavaScript según lo visto (sin crear una función con nombre aparte)?
  • Lección en vídeo: JavaScript 24 - Objetos 14m
  • Ejercicio: ¿Qué ventaja principal ofrece la notación de corchetes (objeto["propiedad"]) frente a la notación del punto (objeto.propiedad) al acceder a propiedades de un objeto?
  • Lección en vídeo: JavaScript 25 - Object() - Funciones Constructoras 08m
  • Ejercicio: ¿Qué método usarías para comprobar si un objeto tiene una propiedad específica (por ejemplo, age)?
  • Lección en vídeo: JavaScript 26 - Arrays 15m
  • Ejercicio: En JavaScript, ¿cómo se obtiene el último elemento de un array usando la propiedad length?
  • Lección en vídeo: JavaScript 27 - Arrays - Métodos Básicos Útiles 17m
  • Ejercicio: ¿Qué método se recomienda para modificar un array sin cambiar el array original, siguiendo buenas prácticas?
  • Lección en vídeo: JavaScript 28 - forEach (Arrays) 10m
  • Lección en vídeo: JavaScript 29 - MAP (Arrays) 05m
  • Ejercicio: ¿Qué característica principal describe correctamente el método map en JavaScript?
  • Lección en vídeo: JavaScript 30 - FILTER (Arrays) 04m
  • Ejercicio: ¿Qué hace el método filter cuando se aplica a un array en JavaScript?
  • Lección en vídeo: JavaScript 31 - REDUCE (Arrays) 08m
  • Ejercicio: ¿Cuál es el propósito principal del método Array.prototype.reduce() en JavaScript?
  • Lección en vídeo: JavaScript 32 - Find vs FindIndex (Arrays) 05m
  • Lección en vídeo: JavaScript 33 - Paso por Valor vs Referencia 13m
  • Ejercicio: Al hacer `const o1 = { name: 'Adrián' }; const o2 = o1; o1.name = 'María';`, ¿qué mostrará `console.log(o2.name)` y por qué?
  • Lección en vídeo: JavaScript 34 - Spread Operator 05m
  • Ejercicio: ¿Cuál es el uso principal del spread operator (...) en JavaScript según lo explicado?
  • Lección en vídeo: JavaScript 35 - Copia de Objetos - Copia Profunda vs Superficial 07m
  • Ejercicio: ¿Cuál es la diferencia clave entre una copia superficial (shallow copy) y una copia profunda (deep copy) al copiar un objeto con propiedades anidadas en JavaScript?
  • Lección en vídeo: JavaScript 36 - Copia de Arrays -Copia Profunda vs Superficial 08m
  • Lección en vídeo: JavaScript 37 - Destructuring 06m
  • Ejercicio: ¿Cómo se evita un error al extraer con destructuring dos propiedades llamadas igual (por ejemplo, "name" del objeto principal y "name" del objeto interno "owner")?
  • Lección en vídeo: JavaScript 38 - Optional Chaining | Solución a Cannot read property of undefined 03m
  • Ejercicio: ¿Para qué se utiliza principalmente el optional chaining (?.) en JavaScript?
  • Lección en vídeo: JavaScript 39 - (??) NULLISH COALESCING OPERATOR - ¿Qué es y cómo se usa?? 03m
  • Ejercicio: ¿Cuál es la principal diferencia entre usar el operador OR (||) y el operador Nullish Coalescing (??) al asignar un valor por defecto?
  • Lección en vídeo: JavaScript 40 - setTimeout() 03m
  • Ejercicio: ¿Qué dos argumentos recibe la función setTimeout en JavaScript?
  • Lección en vídeo: JavaScript 41 - setInterval() 04m
  • Lección en vídeo: JavaScript 42 - ¿Qué es la ASINCRONÍA? 03m
  • Ejercicio: ¿Qué describe mejor el comportamiento asíncrono en JavaScript?
  • Lección en vídeo: JavaScript 43 - ¿Qué son las PROMESAS? 06m
  • Ejercicio: ¿Cuál es la idea principal de una promesa en JavaScript para gestionar código asíncrono?
  • Lección en vídeo: JavaScript 44 - Cómo usar las PROMESAS 08m
  • Ejercicio: ¿Qué método se utiliza para ejecutar un callback cuando una promesa se resuelve correctamente?
  • Lección en vídeo: JavaScript 45 - ASYNC / AWAIT 06m
  • Ejercicio: ¿Qué es necesario hacer para poder usar await al gestionar promesas en JavaScript?
  • Lección en vídeo: JavaScript 46 - fetch( ) 04m
  • Ejercicio: Al usar fetch para obtener usuarios de una API, ¿por qué se encadena response.json() después del primer .then()?
  • Lección en vídeo: JavaScript 47 - DOM 10m
  • Ejercicio: ¿Qué diferencia principal hay entre querySelector y querySelectorAll al seleccionar elementos del DOM?
  • Lección en vídeo: JavaScript 48 - DOM MANIPULATION - Cómo modificar elementos HTML con JavaScript 07m
  • Ejercicio: ¿Qué método se usa para seleccionar varias tarjetas con la clase photocard y obtener una lista de elementos para recorrerlos?
  • Lección en vídeo: JavaScript 49 - CREAR elementos en el DOM - Cómo añadir nuevos elementos HTML 08m
  • Ejercicio: ¿Qué método permite insertar un nuevo elemento justo antes de otro elemento hijo dentro de un contenedor?
  • Lección en vídeo: JavaScript 50 - EVENTOS - addEventListener() 06m
  • Lección en vídeo: JavaScript 51 - Ejemplo WEB DINÁMICA usando FETCH a una API, DOM Manipulation 14m
  • Lección en vídeo: JavaScript 52 - Ejemplo WEB DINÁMICA usando FETCH a una API, DOM Manipulation 15m
  • Ejercicio: ¿Qué método se usa para evitar que un formulario recargue la página al enviarse en JavaScript?
  • Lección en vídeo: JavaScript 53 - localStorage( ) 10m
  • Ejercicio: ¿Cuál es la diferencia principal entre localStorage y sessionStorage en JavaScript?
  • Lección en vídeo: JavaScript 54 - cómo crear un RELOJ con MANECILLAS - Sin frameworks 20m
  • Ejercicio: ¿Para qué se utiliza setInterval en la lógica del reloj analógico?
  • Lección en vídeo: JavaScript - Fin de Curso - Próximos Pasos 05m
  • Ejercicio: ¿Qué recomienda aprender después de terminar un curso desde cero de JavaScript para mejorar la empleabilidad en desarrollo web?

Este curso gratuito incluye:

23 horas y 29 minutos de curso de vídeo online

Certificado digital de finalización del curso (Gratis)

Ejercicios para entrenar tus conocimientos

100% gratis, desde el contenido hasta el certificado

¿Listo para empezar?Descarga la app y empieza hoy mismo.

Instale la aplicación

ahora para acceder al curso
Icono que representa cursos de tecnología y negocios

Más de 5000 cursos gratuitos

¡Programación, inglés, marketing digital y mucho más! Aprende lo que quieras, gratis

Icono de calendario con una diana que representa la planificación de estudios

Plan de estudios con IA

La Inteligencia Artificial de nuestra app puede crear un horario de estudio para el curso que elijas

Icono profesional que representa carrera y negocios

De cero al éxito profesional

Mejora tu currículum con nuestro certificado gratuito y luego usa nuestra Inteligencia Artificial para encontrar el trabajo de tus sueños

También puedes utilizar el código QR o los enlaces que aparecen a continuación.

Código QR - Descargar Cursa - Cursos Online

Más cursos gratuitos en Desarrollo web

¡Libro electrónico y audiolibros gratis! ¡Aprende escuchando o leyendo!

¡Descarga la App ahora para tener acceso a + 5000 cursos, ejercicios, certificados y mucho contenido gratis sin pagar nada!

  • Cursos online 100% gratuitos de principio a fin

    Miles de cursos online en vídeo, ebooks y audiolibros.

  • Más de 60 mil ejercicios gratuitos

    Para poner a prueba tus conocimientos durante los cursos en línea

  • Certificado Digital gratuito válido con Código QR

    Generado directamente desde la galería de fotos de tu celular y enviado a tu correo electrónico

Aplicación Cursa en la pantalla del libro electrónico, la pantalla del curso en video y la pantalla de ejercicios del curso, además del certificado de finalización del curso.