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 empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.


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.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


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!


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.