Javascript: contexto de execução

Jan 23 2023
Enquanto os códigos que escrevemos estão em execução, existem processos em segundo plano que não vemos. Quando o mecanismo Javascript lê e executa os códigos, ele o faz em 2 etapas.

Enquanto os códigos que escrevemos estão em execução, existem processos em segundo plano que não vemos. Quando o mecanismo Javascript lê e executa os códigos, ele o faz em 2 etapas. Esse processo geral, que é chamado de contexto de execução , possui 2 etapas, como mencionamos como fase de criação e fase de execução .

No primeiro estágio, chamado de fase de criação , o mecanismo JS faz algum tipo de trabalho de familiarização e preparação do código. Cria um Contexto, aloca memória para armazenar variáveis ​​e funções. Na próxima etapa, que é a fase de execução , o motor JS atribui os valores que mencionamos às variáveis ​​que já conhece e chama as funções.

Podemos compará-lo a preparar um tipo de comida. Conhecemos desde o início quais os acessórios necessários para os alimentos que vamos preparar (fase de criação).

Fase de criação

Em seguida, determinamos a quantidade de suprimentos e iniciamos a ação de preparar a comida (fase de execução).

Fase de execução

Quando o código é executado pela primeira vez, primeiro é criado o contexto de execução global e as fases mencionadas são executadas. Então, se as funções existem e são chamadas, os contextos de execução funcional são criados e ambas as fases são executadas.

Podemos praticamente ver tudo isso com o código abaixo.

  1. Quando esse código for lido pelo mecanismo, um contexto global será criado primeiro .
  2. Contexto de execução global

2. Caso você tenha notado, nada foi feito com a variável tech na função getTechStack . Isso ocorre porque a variável está dentro da função getTechStack . Após a chamada desta função como na linha 9, um novo contexto funcional será criado e 2 fases serão executadas novamente neste contexto. Só então a variável técnica será tratada como qualquer outra variável.

Contexto de execução da função

Ao contrário do contexto global , o objeto global no contexto funcional será equivalente ao objeto de argumentos , que se refere aos parâmetros da função.

Assim, toda vez que uma função for chamada diferente do contexto global, um novo contexto será criado e o mesmo procedimento será repetido.

Obrigado por ler. :)

Outros tópicos: