imgSobre nosotros BlogContacto

Explorando JavaScript: desde objetos hasta funciones avanzadas

Objetivos

Aprender conceptos avanzados del lenguaje JavaScript para el desarrollo e implementación de aplicaciones web, tanto en el lado del cliente como el lado del servidor.

Contenidos

Introducción
Introducción
Comprensión de los conceptos fundamentales en JavaScript
Desarrollo del código JavaScript sólido y legible
Aprendizaje de las mejores prácticas de desarrollo en JavaScript
Despliegue del entorno de desarrollo, Visual Studio
Instalar Visual Studio Code
Node.js
Instalar Node.js
Resumen

Objetos en JavaScript (I): Definición y propiedades
Introducción
Definición de los objetos y de su naturaleza dinámica
Definición de los objetos
Propiedades dinámicas
Notación de corchetes y puntos
Referencias. Tipos
Referencias
Copia por referencia
Comparación por referencia
Entendiendo las referencias en la memoria
Funciones y efectos de lado
Tipos
Tipos primitivos
Tipos de objeto
Referencias en cada tipo
Enumeración de las propiedades de un objeto
Bucle for...in
Método Object.keys()
Método Object.getOwnPropertyNames()
Método Object.entries()
Método Object.values()
Comparación con bucle for
Enumeración de propiedades no enumerables
Resumen

Objetos en JavaScript (II): Uso y clonación
Introducción
Uso de objetos en JavaScript
Prototipos
Inmutabilidad
Clonación de un objeto
Métodos Shallow Clone
Métodos Deep Clone
Bibliotecas para clonación
Patrones de diseño para la clonación
Consideraciones de rendimiento
Buenas prácticas en la clonación de objetos
¡Las funciones son objetos en JavaScript!
Resumen

Objetos en JavaScript (III): Factory y Constructor
Introducción
Funciones Factory
Características de las funciones Factory
Implementación básica de una función Factory
Encapsulamiento con funciones Factory
Ventajas sobre el constructor tradicional
Función Factory con opciones configurables
Uso de funciones Factory para módulos
Limitaciones de las funciones Factory
Funciones Constructor
Definición y uso de funciones Constructor
Añadiendo métodos al prototipo
Patrón Constructor vs. Factory
Heredando propiedades y métodos
Propiedades y métodos estáticos
Privacidad y encapsulamiento
Conclusiones sobre funciones Constructor
Propiedad del constructor
Recolección de basura
Consideraciones de rendimiento y memoria
Estrategias para minimizar la necesidad de recolección
Resumen

Objetos en JavaScript (IV): Math y String
Introducción
El objeto Math
Propiedades del objeto Math
Métodos para operaciones aritméticas
Funciones trigonométricas
Redondeo
Truncamiento
Números aleatorios
El objeto String
Métodos comunes del objeto String
Expresiones regulares y el objeto String
Trabajando con unicode en el objeto String
Conclusiones del objeto String
Resumen

Objetos en JavaScript (V): Plantillas Literales y objetos Fecha
Introducción
Plantillas literales (plantillas de cadenas)
Definición y sintaxis
Incorporación de expresiones
Cadenas multilínea
Etiquetas en plantillas literales
Uso práctico en desarrollo web
El objeto Fecha
Creación de objetos Fecha
Fecha y hora actual
Fecha específica
Fecha a partir de milisegundos
Obtener componentes de fecha y hora
Establecer componentes de fecha y hora
Formato y conversión de fechas
Operaciones con fechas
Sumar y Restar Días
Trabajar con Meses y Años
Comparar Fechas
Calcular la Diferencia entre Fechas
Aplicaciones prácticas en desarrollo web
Creación de un objeto
Formateo de fechas
Comparación de fechas
Agregar o restar días a una fecha
Resumen

Arrays en JavaScript (I): Conceptos básicos
Introducción
Conceptos básicos de la gestión de arrays (matrices)
Arrays multidimensionales
Incorporación y eliminación de elementos en arrays
Incorporación de elementos
Eliminación de elementos
Vaciado de un array
Método length
Método splice
Creación de un nuevo array
Usando pop o shift en un bucle
Utilizando la función slice en un subconjunto sin elementos
Vaciado mediante la asignación de null
Utilizando el método fill con un array vacío
Localización de elementos (primitivos)
Utilizando el método indexOf y lastIndexOf
Uso de findIndex con una función de comparación
El método includes para la comprobación de existencia
Comparación estricta y búsqueda binaria
Búsqueda de elementos (tipos de referencia)
Acceso a objetos dentro de arrays
Iterar sobre objetos dentro de arrays
Uso del método filter()
Referencias a arrays dentro de arrays
Resumen

Arrays en JavaScript (II): Arrow y Spread
Introducción
Funciones Flecha (Arrow)
Sintaxis básica de funciones Flecha
Usos prácticos y ejemplos de funciones Flecha
Comparación con métodos de objeto tradicionales
Limitaciones de las funciones Flecha
Diferencias entre funciones Flecha y funciones tradicionales
Combinación y corte de arrays
Combinación de arrays
Fusionar arrays con elementos anidados
Corte de arrays
Corte de arrays avanzados
Combinación y corte con splice
El operador de propagación (Spread)
Combinación de arrays
Paso de argumentos a funciones
Clonación de arrays y objetos
Destructuración con el Spread operator
Rest parameters y Spread operator
Resumen

Arrays en JavaScript (III): Iteración, clasificación, filtrado, mapeo y reducción
Introducción
Iteraciones con arrays
Método forEach()
Método find() y findIndex()
Método some() y every()
Clasificación de arrays
Ordenamiento avanzado de arrays
Filtrado de un array con el método filter()
Filtrado con Múltiples Criterios
Mapeo de arrays
Sintaxis
Mapeo con arrow functions y simplificación del código
Reducción de una matriz con el método reduce()
Resumen

Funciones en JavaScript (I): Expresiones y declaraciones, Hoisting y argumentos
Introducción
Diferencias entre expresiones y declaraciones
Declaraciones de funciones en JavaScript
Expresiones de funciones en JavaScript
Diferencias Clave
Hoisting en JavaScript
Diferencias con 'let' y 'const'
Hoisting de funciones
Funciones expresadas y hoisting
Importancia del orden del código
Buenas prácticas para evitar problemas con el hoisting
Argumentos de una función
Objeto arguments
Resumen

Funciones en JavaScript (II): El operador Rest y parámetros predeterminados
Introducción
El operador Rest
Uso del operador Rest en funciones
Uso del operador Rest en arrays y objetos
Diferencias entre los parámetros Rest y los argumentos
Ejemplo avanzado del operador Rest
Restricciones y buenas prácticas
Parámetros predeterminados
Concepto de parámetros predeterminados
Uso avanzado de parámetros predeterminados
Parámetros predeterminados y tipado dinámico
Evaluación perezosa de parámetros predeterminados
Resumen

Funciones en JavaScript (III): "Getters" y "Setters", gestión de excepciones y this
Introducción
"Getters" y "Setters"
Creación de Getters y Setters
Getters y Setters en Clases
Buenas prácticas y uso de Getters y Setters
Gestión de excepciones con la sentencia try...catch
Funcionamiento y sintaxis
La cláusula finally
Propagación y manejo de errores
Errores personalizados
La palabra clave This
Contexto de this en funciones globales y métodos de objetos
Uso de this en constructores y clases
Manipulación del valor de this con bind, call y apply
this en el contexto de las funciones flecha
this en eventos DOM
Resumen

Metodología

En Criteria creemos que para que la formación e-Learning sea realmente exitosa, tiene que estar basada en contenidos 100% multimedia (imágenes, sonidos, vídeos, etc.) diseñados con criterio pedagógico y soportados en una plataforma que ofrezca recursos de comunicación como chats, foros y conferencias…

Esto se logra gracias al trabajo coordinado de nuestro equipo e-Learning integrado por profesionales en pedagogía, diseño multimedia y docentes con mucha experiencia en las diferentes áreas temáticas de nuestro catálogo.

Nuestras señas de indentidad

  • 21 años formando profesionales
  • Más de 1000 títulos en modalidad eLearning en todas las áreas de competencia
  • El alumnado estudia en nuestro campus virtual, es fácil, flexible y disponible 24x7
  • Gestionamos la bonificación en Fundae, si lo necesitas
  • Aportamos el equipo docente, tanto para el seguimiento y dinamización como para resolver dudas de contenido del alumnado

Cursos de INFORMÁTICA

Catálogo realizado por Maubic para Criteria. Todos los derechos reservados.