Javascript: contexto de ejecución (Aze)

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 asimila 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é insumos se necesitan para la comida que prepararemos (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 un poco de 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á igual 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: