Javascript: contexto de ejecución

Jan 23 2023
Mientras se ejecutan los códigos que escribimos, hay procesos en segundo plano que no vemos. Cuando el motor Javascript lee y ejecuta los códigos, lo hace en 2 etapas.

Mientras se ejecutan los códigos que escribimos, hay procesos en segundo plano que no vemos. Cuando el motor Javascript lee y ejecuta los códigos, lo hace en 2 etapas. Este proceso general, que se denomina contexto de ejecución , tiene 2 etapas, como mencionamos como fase de creación y fase de ejecución .

En la primera etapa, llamada fase de creación , el motor JS realiza algún tipo de trabajo de preparación y familiarización con el código. Crea un contexto, asigna memoria para almacenar variables y funciones. En la siguiente etapa, que es la fase de ejecución , el motor JS asigna los valores que mencionamos a las variables con las que ya está familiarizado y llama a las funciones.

Podemos compararlo con preparar un tipo de comida. Conocemos desde el principio qué complementos son necesarios para la comida que vamos a preparar (fase de Creación).

Fase de creación

Luego determinamos la cantidad de suministros y comenzamos la acción para preparar la comida (Fase de ejecución).

Fase de ejecución

Cuando el código se ejecuta por primera vez, primero se crea el contexto de ejecución global y se ejecutan las fases mencionadas. Luego, si las funciones existen y se llaman, se crean contextos de ejecución funcional y se ejecutan ambas fases.

Prácticamente podemos ver todo esto con el siguiente código.

  1. Cuando el motor lea este código, primero se creará un contexto global .
  2. Contexto de ejecución global

2. En caso de que lo haya notado, no se hizo nada con la variable tech en la función getTechStack . Esto se debe a que la variable está dentro de la función getTechStack . Después de llamar a esta función como en la línea 9, se creará un nuevo contexto funcional y se ejecutarán 2 fases nuevamente en este contexto. Solo entonces la variable tecnológica será tratada como cualquier otra variable.

Contexto de ejecución de la función

A diferencia del contexto global , el objeto global en el contexto funcional será equivalente al objeto de argumentos , que se refiere a los parámetros de la función.

Entonces, cada vez que se llame a una función que no sea el contexto global, se creará un nuevo contexto y se repetirá el mismo procedimiento.

Gracias por leer. :)

Otros temas: