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?

Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


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.


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.


O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.