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?

A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.


Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.


O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.


O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.


O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.