JavaScript Elegante: Una Introducción Moderna a la Programación
Una guía completa sobre programación moderna utilizando JavaScript. El curso cubre principios fundamentales de programación, la especificación del lenguaje JavaScript, la integración con navegadores web y el desarrollo del lado del servidor con Node.js, incluyendo cinco aplicaciones prácticas en proyectos del mundo real.
Descripción del curso
Resumen del Contenido
Una guía completa sobre programación moderna utilizando JavaScript. El curso cubre principios fundamentales de programación, la especificación del lenguaje JavaScript, la integración con navegadores web y el desarrollo del lado del servidor con Node.js, incluyendo cinco aplicaciones prácticas basadas en proyectos reales.
Una profunda y elegante exploración del corazón de la programación en JavaScript.
Autor: Marijn Haverbeke
Agradecimientos: Apoyado por 454 patrocinadores financieros; ilustraciones de Wasif Hyder, Max Xiantu, Margarita Martínez, José Menor, Jim Tierney, Dyle MacGregor, Jeff Avallone, Thomas Palef y Antonio Perdomo Pastor.
Objetivos de Aprendizaje
- Definir qué es un programa y explicar los diferentes niveles de abstracción en los lenguajes de computadora.
- Utilizar números y operadores aritméticos de JavaScript para producir valores.
- Declarar y actualizar variables respetando convenciones de nombres y restricciones de palabras reservadas.
- Implementar flujos de control robustos usando bucles
do,fory declaracionesswitch, manteniendo código limpio mediante sangría e comentarios. - Definir e invocar funciones usando múltiples notaciones, manejando parámetros, argumentos opcionales y ámbitos léxicos anidados.
- Aplicar conceptos funcionales avanzados como recursión, cierres y pila de llamadas para resolver acertijos algorítmicos complejos.
- Utilizar métodos especializados de objetos y arreglos para gestionar estructuras de datos complejas y cadenas.
- Implementar funciones de orden superior (
filter,map,reduce) para abstraer lógica y componer transformaciones de datos. - Navegar y manipular la cadena de prototipos para crear instancias de objetos estructuradas, reutilizables y interfaces polimórficas.
- Implementar interfaces polimórficas para manejar visualizaciones de datos complejas (tablas).