Na aula anterior, entendemos que o JavaScript executa código em fases e que tudo acontece de forma organizada.
Agora vamos responder a uma pergunta essencial:
onde e como o JavaScript controla tudo o que está sendo executado?
Para isso, vamos conhecer dois conceitos fundamentais:
- Execution Context (Contexto de Execução)
- Call Stack (Pilha de chamadas)
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o que é um Execution Context
- Compreender como o Call Stack funciona
- Visualizar a execução de funções passo a passo
- Entender por que erros de stack acontecem
- Preparar o terreno para Event Loop e assincronicidade
O que é um Execution Context?
Sempre que o JavaScript executa código, ele cria um Contexto de Execução.
Um Execution Context é um ambiente onde o código é:
- Analisado
- Preparado
- Executado
Podemos pensar nele como uma “caixa” onde o JavaScript guarda tudo o que precisa para executar aquele trecho de código.
Tipos de Execution Context
Existem três tipos principais:
- Global Execution Context
- Function Execution Context
- Eval Execution Context (raro)
Neste curso, vamos focar nos dois primeiros.
Global Execution Context
Quando um arquivo JavaScript começa a ser executado, o JavaScript cria automaticamente o:
Global Execution Context.
É nele que:
- Variáveis globais são registradas
- Funções globais são registradas
- O código começa a rodar
Function Execution Context
Toda vez que uma função é chamada, o JavaScript cria um novo:
Function Execution Context.
Esse contexto existe apenas enquanto a função está sendo executada.
Exemplo simples
function primeira()
{
console.log("Dentro da primeira");
}
function segunda()
{
console.log("Antes da primeira");
primeira();
console.log("Depois da primeira");
}
segunda();
segunda(); // Saída será:
// Antes da primeira // Dentro da primeira // Depois da primeira Agora entra o Call Stack
O Call Stack é uma estrutura de dados que o JavaScript usa para:
- Controlar quais funções estão sendo executadas
- Definir quem entra e quem sai da execução
Ele funciona como uma pilha:
- O último a entrar é o primeiro a sair
Passo a passo do Call Stack
Vamos acompanhar o código anterior:
- O contexto global entra na pilha
segunda()é chamada → entra na pilhaprimeira()é chamada → entra na pilhaprimeira()termina → sai da pilhasegunda()continuasegunda()termina → sai da pilha
Visualização mental
Imagine o Call Stack assim:
| primeira() | | segunda() | | global | Sempre o topo da pilha é o que está sendo executado.
Erros de Call Stack
Quando uma função chama a si mesma sem controle, o Call Stack cresce indefinidamente.
function loop() { loop(); }
loop();
loop(); // Erro: Maximum call stack size exceeded Por que isso é tão importante?
Porque o Call Stack explica:
- Por que o JavaScript é síncrono
- Por que funções bloqueiam a execução
- Por que precisamos de assincronicidade
E isso nos leva diretamente ao próximo conceito.
Resumo da aula para nunca mais esquecer
- Execution Context é o ambiente de execução
- Todo código começa no contexto global
- Cada função cria um novo contexto
- O Call Stack controla a ordem das execuções
- O topo da pilha é sempre o que está rodando
Na próxima aula, vamos entender como o JavaScript consegue lidar com tarefas assíncronas através do Event Loop.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Mega Man
A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.
Nintendo Wii
Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Final Fantasy X
O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.










