Curso para aprender el lenguaje de programación JavaScript desde cero y para principiantes
Proyecto realizado durante emisiones en directo desde Twitch
Si consideras útil el curso, apóyalo haciendo "★ Star" en el repositorio. ¡Gracias!
Clases en vídeo
Curso de fundamentos desde cero
- Introducción
- 1 - Contexto
- 2 - Historia
- 3 - JavaScript y Java
- 4 - Utilización
- 5 - Especificación ECMAScript
- 6 - Motor V8
- 7 - Referencia
- 8 - Ejercicios prácticos
- 9 - Versión
- 10 - Explorador web
- 11 - Playground
- 12 - Instalación
- 13 - Editor de código
- 14 - Buenas prácticas
- 15 - Hola mundo | Código
- 16 - Variables | Código
- 17 - Tipos de datos | Código
- 18 - Ejercicios: primeros pasos | Ejercicios
- 19 - Operadores | Código
- 20 - Ejercicios: Operadores | Ejercicios
- 21 - Strings | Código
- 22 - Ejercicios: Strings | Ejercicios
- 23 - Condicionales | Código
- 24 - Ejercicios: Condicionales | Ejercicios
- 25 - Arrays | Código
- 26 - Sets | Código
- 27 - Maps | Código
- 28 - Ejercicios: Estructuras | Ejercicios
- 29 - Bucles | Código
- 30 - Ejercicios: Bucles | Ejercicios
- 31 - Funciones | Código
- 32 - Ejercicios: Funciones | Ejercicios
- 33 - Objetos | Código
- 34 - Ejercicios: Objetos | Ejercicios
- 35 - Desestructuración y propagación | Código
- 36 - Ejercicios: Desestructuración y propagación | Ejercicios
- 37 - Clases | Código
- 38 - Herencia de clases | Código
- 39 - Ejercicios: Clases | Ejercicios
- 40 - Manejo de errores | Código
- 41 - Ejercicios: Manejo de errores | Ejercicios
- 42 - Console | Código
- 43 - Ejercicios: Console | Ejercicios
- 44 - Módulos | Código exportación | Código importación | Código externos
- 45 - Ejercicios: Módulos | Ejercicios | package.json
- Despedida
Curso de fundamentos intermedio (continuación del desde cero)
Funciones avanzadas | Código
- 2 - Ciudadanos de primera clase
- 3 - Arrow functions
- 4 - IIFE
- 5 - Parámetros rest
- 6 - Operador Spread
- 7 - Closures
- 8 - Recursividad
- 9 - Funciones parciales
- 10 - Currying
- 11 - Callbacks
- 12 - Ejercicios: Funciones avanzadas | Ejercicios
Estructuras avanzadas | Código
- 13 - Estructuras avanzadas
- 14 - Arrays avanzados: métodos funcionales
- 15 - Arrays avanzados: manipulación
- 16 - Arrays avanzados: ordenación
- 17 - Arrays avanzados: búsqueda
- 18 - Sets avanzados: operaciones
- 19 - Sets avanzados: conversión
- 20 - Sets avanzados: iteración
- 21 - Maps avanzados: iteración
- 22 - Maps avanzados: conversión
- 23 - Ejercicios: Estructuras avanzadas | Ejercicios
Objetos y clases avanzados | Código Objetos | Código Clases
- 24 - Objetos avanzados
- 25 - Prototipos
- 26 - Herencia
- 27 - Métodos estáticos y de instancia
- 28 - Métodos avanzados
- 29 - Clases avanzadas
- 30 - Abstracción
- 31 - Polimorfismo
- 32 - Mixins
- 33 - Singleton
- 34 - Symbol
- 35 - instanceof
- 36 - create
- 37 - Proxy
- 38 - Ejercicios: Objetos y clases avanzados | Ejercicios
Asincronía | Código
- 39 - Asincronía
- 40 - Código síncrono
- 41 - Event Loop
- 42 - Callbacks
- 43 - Promesas
- 44 - Async/Await
- 45 - Ejercicios: Asincronía | Ejercicios
APIs | Código
- 46 - APIs
- 47 - API REST
- 48 - Métodos HTTP
- 49 - Códigos de respuesta HTTP
- 50 - GET
- 51 - Async/Await en APIs
- 52 - POST
- 53 - Herramientas para realizar peticiones HTTP
- 54 - Manejo de errores
- 55 - Métodos HTTP adicionales
- 56 - Autenticación mediante API Key
- 57 - Otros métodos de autenticación y autorización
- 58 - Versionado de APIs
- 59 - Otras APIs
- 60 - Ejercicios: APIs | Ejercicios
DOM | Código
- 61 - DOM
- 62 - Estructura del DOM
- 63 - Métodos de selección
- 64 - Manipulación de elementos
- 65 - Modificación de atributos
- 66 - Interacción con clases CSS
- 67 - Creación y eliminación de elementos
- 68 - Elementos y eventos del DOM
- 69 - Ejemplos: acceso al DOM | Ejemplo simple: HTML - JS
- 70 - Ejemplos: lista de tareas Ejemplo lista de tareas: HTML - JS
- 71 - Ejercicios: DOM | Ejercicios
Depuración | Código
Regex | Código
- 75 - Regex
- 76 - Sintaxis: test
- 77 - Sintaxis: replace
- 78 - Sintaxis: exec
- 79 - Ejercicios: Regex | Ejercicios
Enlaces de interés
- Impacto: Stack Overflow | GitHub | Índice TIOBE | Google Trends
- Historia
- Especificación ECMAScript
- Documentación Mozilla
- Documentación W3Schools
- Documentación JS Info
- Libro Eloquent JavaScript
- Playground
- Node.js
- Exploradores: Chrome | Brave
- Visual Studio Code
- Guía de estilo
- Clientes HTTP: Postman | Apidog | Thunder Client
- APIs: JSONPlaceholder | OpenWeather | PokéAPI
- Expresiones regulares: Documentación | Regex101
- Jest
Únete al campus de programación de la comunidad
Te presento mouredev pro, mi proyecto más importante para ayudarte a estudiar programación y desarrollo de software de manera diferente.
¿Buscas un extra? Aquí encontrarás este y otros cursos editados por lecciones individuales, para avanzar a tu ritmo y guardar el progreso. También dispondrás de ejercicios y correcciones, test para validar tus conocimientos, examen y certificado público de finalización, soporte, foro de estudiantes, reunionnes grupales, cursos exclusivos y mucho más.
Entra en mouredev.pro y utiliza el cupón "JAVASCRIPT" con un 15% de descuento en tu primera suscripción.
Preguntas frecuentes
¿Debo tener conocimientos previos?
Mi idea es que el curso sea desde cero y para principiantes. Pensado para una persona que comienza por primera vez a programar. Es un curso de fundamentos, donde nos centraremos en aprender las bases del lenguaje con JavaScript puro (Vanilla JS). Esto no es un curso para aprender a desarrollar proyectos. Vamos a empezar desde el principio.
Si la acogida de la comunidad es buena, seguiré creando cursos más avanzados.
¿Este curso se va a subir a YouTube?
Sí, una vez finalizados, todos los cursos son editados y subidos en bloque a YouTube.
¿Existe algún lugar donde consultar dudas?
He creado un canal llamado "JavaScript" en el servidor de Discord de la comunidad. Allí puedes consultar dudas y ayudar al resto de miembros. Así nos beneficiamos tod@s.
¿Cómo puedo practicar?
En cada lección encontrarás ejercicios para poner en práctica lo aprendido. También puedes realizar los ejercicios de mi web retosdeprogramacion.com.
Freelance full-stack iOS & Android engineer
Soy ingeniero de software desde 2010. Desde 2018 combino mi trabajo desarrollando Apps con la creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como @mouredev.
Si quieres unirte a nuestra comunidad de desarrollo, aprender programación, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:




