- 1

Fundamentos de JavaScript para Principiantes
02:49 - 2

Instalación y Configuración de JavaScript en Visual Studio Code
04:10 - 3

Instalación y configuración de Visual Studio Code y Node.js en Windows
05:11 - 4

Variables y Buenas Prácticas en JavaScript
09:23 - 5

Tipos de Datos en JavaScript: Primitivos y Complejos
07:59 - 6

Manipulación de Strings en JavaScript: Escritura, Concatenación y Substrings
07:08 - 7

Números y Operaciones Matemáticas en JavaScript
09:30 - 8

Conversión de Tipos en JavaScript: Implícita y Explícita
04:33 - 9

Conversión de Tipos en JavaScript: Explícita e Implícita
12:20
Programación Síncrona y Asíncrona en JavaScript
Clase 45 de 55 • Curso de Fundamentos de JavaScript
Contenido del curso
- 10

Operadores de Comparación en JavaScript: Igualdad y Desigualdad
06:12 - 11

Operadores Lógicos en Programación: AND, OR y NOT
04:33 - 12

Estructuras Condicionales: Uso de IF, ELSE y ELSE IF en JavaScript
07:45 - 13

Juego de Adivinanza: Programación con Estructuras Condicionales
09:36 - 14

Estructura y uso del condicional Switch en programación
12:10 - 15

Ciclo For: Iteración de Listas y Uso de Console.log en JavaScript
07:31 - 16

Iteración con for-of en JavaScript para arrays y strings
04:26 - 17

Iteración sobre Objetos con forIn en JavaScript
07:38 - 18

Uso del ciclo while para iteración en programación
03:56 - 19

Ciclos doWhile: Estructura y Diferencias con While
03:13
- 20

Funciones en JavaScript: Cómo Calcular Precios con Descuentos
11:39 - 21

Diferencias entre Funciones y Métodos en JavaScript
10:01 - 22

Funciones Puras e Impuras en Programación: Conceptos y Ejemplos
11:22 - 23

Arrow Functions y Enlace Léxico en JavaScript
10:31 - 24

Scope y Contextos de Ejecución en JavaScript
12:21 - 25

Closures y Ámbito Léxico en JavaScript
08:00 - 26

Fundamentos del Desarrollo Web: Frontend y Backend
02:11
- 27

Arrays: Propiedades, Acceso y Creación en Programación
09:09 - 28

Mutabilidad e inmutabilidad en arrays: conceptos y ejemplos prácticos
07:56 - 29

Métodos push y pop para modificar arrays en JavaScript
04:33 - 30

Métodos map y forEach en JavaScript: Uso y Ejemplos Prácticos
12:53 - 31

Métodos Filter y Reduce en JavaScript: Uso y Ejemplos Prácticos
11:34 - 32

Métodos find y findIndex en JavaScript: Uso y ejemplos prácticos
03:52 - 33

Uso del método slice para extraer porciones de un array en JavaScript
05:28 - 34

Uso del Spread Operator en JavaScript: Copia, Combinación y Más
07:11
- 35

Programación Orientada a Objetos en JavaScript: Conceptos y Práctica
06:48 - 36

Creación y Manipulación de Objetos en JavaScript
09:05 - 37

Función constructora y gestión de instancias en JavaScript
11:36 - 38

Clases en JavaScript: Creación y Uso de Objetos con Sintaxis Moderna
06:17 - 39

Programación Orientada a Objetos en JavaScript: Clases y Prototipos
02:16 - 40

Prototipos y Herencia en JavaScript: Construcción y Uso Práctico
15:38 - 41

Métodos y herencia prototípica en JavaScript
10:43 - 42

Uso de "this" en Clases y Funciones Constructoras
05:36 - 43

Validación de Usuarios en una Red Social: Algoritmo Básico
12:26 - 44

Implementación de la Función Sign-In y Validación de Usuario
09:00
- 45

Programación Síncrona y Asíncrona en JavaScript
04:37 - 46

Promesas en JavaScript: Asincronía y Manejo de Estados
11:36 - 47

Uso de Async/Await para Promesas Asíncronas en JavaScript
09:51 - 48

Peticiones asíncronas con for await en JavaScript
06:19 - 49

Fundamentos de HTTP: Cliente-Servidor y Métodos de Petición
03:12 - 50

Peticiones HTTP en Frontend: Uso de Fetch y Análisis en Network
07:02 - 51

Peticiones HTTP en JavaScript: Fetch, GET, POST y DELETE
14:26 - 52

Envío de Datos al Servidor con JavaScript y Fetch API
10:40 - 53

Eliminar Posts con JavaScript y Delegación de Eventos
10:15 - 54

Manejo de IDs en JavaScript para eliminar artículos del DOM
02:23 - 55

Actualizaciones y Nuevas Funciones en JavaScript
01:48
¿Cómo funciona JavaScript engine en el navegador?
Para entender cómo se maneja la ejecución del código JavaScript, es crucial comprender los componentes clave de su motor de ejecución en los navegadores: el Memory Heap y el Call Stack.
¿Qué es el Memory Heap?
El Memory Heap es el espacio donde se almacenan variables, funciones y objetos creados en JavaScript de forma aleatoria. Actúa como un almacén desorganizado donde el navegador gestiona la memoria de manera eficiente, permitiendo que las aplicaciones JavaScript funcionen sin problemas.
¿Cómo opera el Call Stack?
El Call Stack es una pila de tareas donde se registran las funciones que deben ejecutarse. Cuando se llama a una función, esta se agrega al Call Stack, ejecutándose de manera secuencial. Por ejemplo, si tienes una función holaMundo que llama a otra función miNombreEsDiego, el Call Stack ejecutará primero holaMundo y luego miNombreEsDiego, de forma simple y secuencial.
¿Qué es la programación síncrona en JavaScript?
En un entorno síncrono, JavaScript ejecuta una tarea a la vez en el Call Stack. Este enfoque puede llegar al temido Stack Overflow, una situación en la que el Call Stack se llena más allá de su capacidad y el navegador puede bloquearse. Para solventar este problema, el navegador debe cerrarse y abrirse nuevamente.
JavaScript, por naturaleza, funciona de forma síncrona, ejecutando cada línea de código en orden. Sin embargo, ciertos mecanismos permiten que JavaScript también pueda manejar tareas asincrónicamente.
¿Cómo se realiza la programación asíncrona?
¿Qué son las Web APIs?
Las Web APIs son herramientas que permiten que JavaScript ejecute tareas de manera asíncrona, proporcionando simultaneidad. Cuando una función de Web API se llama, se transfiere a la sección de las Web APIs y se ejecuta en paralelo al Call Stack. Una vez completada, la tarea se mueve al Queue.
¿Qué es el Event Loop?
El Event Loop interroga constantemente al Call Stack para verificar si está vacío. Cuando lo está, extrae una tarea del Queue y la transfiere al Call Stack para ejecutar. De este modo, tareas asincrónicas se integran ordenadamente en el flujo de ejecución.
Ejemplo de setTimeout en programación asíncrona
Considera un caso donde se utiliza setTimeout, una función que actúa asincrónicamente:
function varFunc() {
console.log(1);
setTimeout(() => console.log(2), 0);
console.log(3);
}
La secuencia de ejecución sería:
console.log(1)se ejecuta primero.setTimeout()transfiere el console de2al Queue.console.log(3)se ejecuta.- Una vez que el Call Stack está vacío, el event loop mueve el console de
2del Queue al Call Stack.
El resultado en consola sería: 1, 3 y 2. Aunque setTimeout parece ser instantáneo, su resultado aparece solo cuando el Stack está vacío.
¿Qué son las promesas en JavaScript?
Las promesas en JavaScript, al igual que las funciones de Web API, facilitan la programación asíncrona. Permiten que funciones específicas se ejecuten en paralelo al flujo principal, mejorando la eficiencia y evitando cuellos de botella en aplicaciones de alto rendimiento.
¿Cuál es el uso de async/await?
async y await son sintaxis modernas para manejar promesas, haciendo que el código asíncrono se vea y se lea como si fuera síncrono. Proporcionan una forma más clara y manejable de estructurar código asincrónico, especialmente en operaciones complejas o jerárquicas.
Con esta comprensión, puedes mejorar la forma en que escribes y gestionas tu código JavaScript, maximizando sus capacidades síncronas y asíncronas. ¡Adelante, sigue explorando y dominando el mundo del desarrollo con JavaScript!