Curso de Programación avanzada con JavaScript
Acerca de este curso
> Módulo 1: Conceptos avanzados de funciones y objetos
Las funciones como objetos
Funciones de primera clase
Funciones de invocación
Crear objetos JavaScript
Comprender la palabra clave “this”
Examinando “this” con la invocación de función normal
Invocación de función normal usando el modo estricto
Examinando “this” con la invocación de método
Comprensión de prototipos
Comprensión del prototipo de funciones
Uso de los métodos “call” y “apply”
Usando el método “bind”
Invocar funciones como constructores
Invocación de constructor y el valor de “this”
Funciones de orden superior, devoluciones de llamada y el problema con “this”
Arrow functions
> Módulo 2: Piense como un programador: no repetir código (DRY)
Abstracción y coding
Abstracción y coding “Don’t Repeat Yourself” (DRY)
> Módulo 3: Trabajar con objetos
Introducción al trabajo con objetos
Detectar propiedades en objetos
Cambiar atributos de propiedad
Haciendo objetos inmutables
Características del objeto ES6
Comprensión del encadenamiento de métodos
> Módulo 4: El poder de las funciones
Expresiones de función inmediatamente invocadas (IIFE)
Entender el cierre
> Módulo 5: Piense como un programador: evite los globales
Evitar variables globales
Usar el patrón de espacio de nombres
> Módulo 6: Piense como un programador: el patrón del módulo
El patrón del módulo
Descripción general del código para completar una pregunta
> Módulo 7: Trabajar con datos: objetos JavaScript y JSON
Introducción al trabajo con datos
Conceptos de JSON
Crear un archivo JSON
Carga de un archivo JSON mediante XMLHttpRequest
Prueba en un servidor
> Módulo 8: Uso de módulos ECMAScript (ES)
Características importantes de los módulos ECMAScript (ES)
Aplicación de módulos (ES)
Módulos de agrupación (ES)
> Módulo 9: Programación orientada a objetos en JavaScript
Introducción a la programación orientada a objetos (OOP)
Teoría OOP
Configuración del prototipo
La propiedad del constructor
Proyecto: Aplicación de OOP
Getters y Setters
Aplicación de la programación orientada a objetos
Enumeración de objetos con el bucle “for in”
Datos privados en constructores
Creando constructores seguros
¿Puedo modificar los prototipos integrados?
¿Qué pasa con las clases de ES6?
> Módulo 10: Programación funcional en JavaScript
Introducción a la programación funcional
Evitar efectos secundarios y utilizar funciones puras
Evitar el estado compartido
Evitar datos mutables
Programación imperativa versus programación declarativa
Uso de Reduce, Map y Filter
Entendiendo la recursividad
Bibliotecas funcionales para JavaScript