Até agora, usamos o JavaScript para criar funções, manipular dados, trabalhar com eventos e até construir aplicações instaláveis.

Mas existe uma pergunta fundamental que quase nunca é feita:

como o JavaScript realmente executa o código que escrevemos?

Nesta aula, vamos entender o funcionamento interno da execução do JavaScript — sem fórmulas mágicas e sem mistério.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender como o JavaScript lê e executa o código
  • Compreender a execução linha por linha
  • Saber por que a ordem do código importa
  • Preparar o terreno para Call Stack e Event Loop
  • Deixar de tratar a execução como “mágica”

JavaScript é uma linguagem interpretada

JavaScript não é compilado como C ou Java.

Ele é uma linguagem interpretada.

Isso significa que:

  • O código é lido
  • Interpretado
  • E executado
  • Tudo em tempo de execução

Mas isso não acontece de forma aleatória.

Execução acontece em duas grandes fases

Quando o JavaScript executa um arquivo, ele passa por duas fases principais:

  • Fase de criação
  • Fase de execução

Essa separação explica muitos comportamentos estranhos que vemos no dia a dia.

1️⃣ Fase de criação (preparação)

Antes de executar qualquer linha, o JavaScript:

  • Registra funções
  • Registra variáveis
  • Cria o contexto de execução

É nessa fase que acontece o famoso hoisting.

O JavaScript “sabe” quais funções e variáveis existem antes de executar o código.

Exemplo simples

 console.log(nome);

var nome = "Daniel";

O que acontece aqui?

Durante a fase de criação:

  • A variável nome é registrada
  • Mas seu valor ainda não é definido

Por isso, o resultado é:

 console.log(nome); // Saída será undefined 

2️⃣ Fase de execução

Depois da preparação, o JavaScript começa a executar o código:

  • De cima para baixo
  • Linha por linha
  • Na ordem em que foi escrito

Agora os valores são atribuídos e as funções são chamadas.

Funções também entram na execução

Quando uma função é chamada, o JavaScript:

  • Interrompe temporariamente a execução atual
  • Cria um novo contexto
  • Executa a função
  • Retorna ao ponto anterior

Isso será essencial para entendermos o Call Stack.

Exemplo com função

 function saudacao() { console.log("Olá!"); }

console.log("Antes");
saudacao();
console.log("Depois");
 console.log("Antes"); // Saída: Antes

saudacao();
// Saída: Olá!

console.log("Depois");
// Saída: Depois

JavaScript executa uma coisa por vez

JavaScript é single-thread.

Isso significa:

  • Uma tarefa por vez
  • Uma execução por vez
  • Sem paralelismo real
Isso não significa que JavaScript é lento. Significa que ele é previsível.

Por que isso importa?

Porque a partir daqui conseguimos entender:

  • Por que callbacks existem
  • Por que Promises existem
  • Por que async/await existe
  • Como o Event Loop funciona

Nada disso é mágica.

Resumo da aula para nunca mais esquecer

  • JavaScript executa código em duas fases
  • Primeiro prepara, depois executa
  • A execução acontece linha por linha
  • Funções criam novos contextos
  • JavaScript executa uma coisa por vez

Na próxima aula, vamos entender o Call Stack e o Execution Context, dando nome e forma a tudo isso que vimos hoje.


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.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.