Mi Curso Javascript
Mi Curso Javascript
### Avanzado
10. **Contexto de ejecución**
- `this` y cómo cambia en diferentes contextos
- `bind`, `call`, `apply`
11. **Closures y funciones de orden superior**
- Importancia de los closures en JavaScript
- Funciones de orden superior y su uso en la programación funcional
12. **Promesas y manejo asíncrono**
- Callbacks y la "pyramid of doom"
- Promesas (`Promise`, `then`, `catch`, `finally`)
- `async`/`await`
13. **Manipulación del DOM**
- Selección y manipulación de elementos (`querySelector`, `getElementById`)
- Eventos del DOM (`addEventListener`, delegación de eventos)
- Creación y modificación de elementos (`createElement`, `appendChild`,
`innerHTML`)
14. **Manejo de errores**
- Estructura `try`, `catch`, `finally`
- Manejo de errores en código asíncrono
15. **JSON**
- Serialización y deserialización (`JSON.stringify`, `JSON.parse`)
16. **LocalStorage y SessionStorage**
- Almacenamiento de datos en el navegador
- Persistencia de datos entre sesiones
### Patrones y buenas prácticas
17. **Patrones de diseño en JavaScript**
- Singleton, Factory, Observer, Module, Revealing Module
18. **Programación orientada a objetos (OOP) en JavaScript**
- Principios SOLID
- Abstracción, encapsulación, herencia, y polimorfismo
19. **Programación funcional**
- Funciones puras, inmutabilidad
- Composición de funciones
- Currying y parcialización
20. **Principios DRY, KISS, YAGNI**