Curso en línea gratuito JavaScript - 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
Acerca del curso online gratuito
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 necesitas05m
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 pasos11m
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 - Variables21m
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 string20m
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 formas04m
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 Comentarios05m
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 / ELSE07m
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: SWITCH04m
Ejercicio: En una sentencia switch en JavaScript, ¿para qué sirve la palabra reservada break al final de un case?
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 - Truthy02m
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 - Comparadores10m
Lección en vídeo: JavaScript 13 - == vs === - Cuál es la diferencia entre el doble igual y el triple igual02m
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 Booleano03m
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 For08m
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 While06m
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 in08m
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: Break04m
Ejercicio: ¿Cuál es la diferencia principal entre break y continue dentro de un bucle en JavaScript?
Lección en vídeo: JavaScript 20 - Funciones18m
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 Functions05m
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 - Callbacks04m
Ejercicio: ¿Qué es un callback en JavaScript?
Lección en vídeo: JavaScript 23 - Funciones Anónimas, Callbacks11m
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 - Objetos14m
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 Constructoras08m
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 - Arrays15m
Ejercicio: En JavaScript, ¿cómo se obtiene el último elemento de un array usando la propiedad length?
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 Referencia13m
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 Operator05m
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 Superficial07m
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 Superficial08m
Lección en vídeo: JavaScript 37 - Destructuring06m
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 undefined03m
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 PROMESAS08m
Ejercicio: ¿Qué método se utiliza para ejecutar un callback cuando una promesa se resuelve correctamente?
Lección en vídeo: JavaScript 45 - ASYNC / AWAIT06m
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 - DOM10m
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 JavaScript07m
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 HTML08m
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 Manipulation14m
Lección en vídeo: JavaScript 52 - Ejemplo WEB DINÁMICA usando FETCH a una API, DOM Manipulation15m
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 frameworks20m
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 Pasos05m
Ejercicio: ¿Qué recomienda aprender después de terminar un curso desde cero de JavaScript para mejorar la empleabilidad en desarrollo web?
Este sitio utiliza cookies para mejorar su navegación. Al navegar por el sitio está consintiendo su uso.
, preferiblemente antes de cerrar o usando defer."
}
}
, {
"@type": "Question",
"name": "¿Cuál es la diferencia entre == y === en JavaScript?",
"acceptedAnswer": {
"@type": "Answer",
"text": "== compara valores convirtiendo tipos si es necesario; === compara valor y tipo sin conversiones."
}
}
, {
"@type": "Question",
"name": "¿Para qué sirve optional chaining (?.) en JavaScript?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Permite acceder a propiedades anidadas sin errores cuando una parte de la cadena es null o undefined."
}
}
]
}