Na aula anterior, entendemos o que são módulos JavaScript e por que dividir o código em vários arquivos deixa o projeto mais organizado, profissional e fácil de manter.

Agora vamos aprender como os módulos conversam entre si, usando duas palavras-chave fundamentais do JavaScript moderno: export e import.

🎯 Objetivo da aula

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

  • Entender o papel do export
  • Entender o papel do import
  • Exportar funções, variáveis e objetos
  • Importar código de outros arquivos
  • Conectar arquivos JavaScript de forma correta

Antes de tudo: o modelo mental certo

Pense assim:

  • export → “isso aqui pode ser usado fora deste arquivo”
  • import → “vou usar algo que vem de outro arquivo”

Nada mais do que isso.

Estrutura básica de arquivos

Vamos imaginar esta estrutura simples:

  • utils.js
  • main.js

O arquivo utils.js vai fornecer funções. O arquivo main.js vai usar essas funções.

Exportando uma função

No arquivo utils.js:

 // utils.js 
        export function somar(a, b) 
        { 
          return a + b; 
        } 

Aqui estamos dizendo:

👉 “A função somar pode ser usada fora deste arquivo.”

Importando essa função

No arquivo main.js:

 // main.js 
          import { somar } from "./utils.js";
          console.log(somar(2, 3));
 console.log(somar(2, 3)); // Saída será 5 

Repare em três coisas importantes:

  • O nome importado deve ser o mesmo do export
  • Usamos { } para importar
  • O caminho começa com ./

Exportando mais de uma coisa

Podemos exportar várias funções no mesmo arquivo:

 // utils.js 
  export function somar(a, b) 
  { return a + b; }
  export function multiplicar(a, b) 
  {
    return a * b;
  }

E importar assim:

 // main.js 
  import { somar, multiplicar } from "./utils.js";
  console.log(somar(2, 3));
  console.log(multiplicar(2, 3));
 
  console.log(somar(2, 3)); // Saída será 5 
  console.log(multiplicar(2, 3)); // Saída será 6 

Export default (exportação padrão)

Além do export normal, existe o export default.

Ele indica o principal valor daquele arquivo.

 // calculadora.js 
    export default function somar(a, b) 
    { 
      return a + b; 
    } 

Importando um export default:

 
  // main.js 
  import somar from "./calculadora.js";
  console.log(somar(4, 6));
 console.log(somar(4, 6)); // Saída será 10 

Aqui está a diferença importante:

  • export → precisa de { }
  • export default → não usa { }

Posso misturar export normal e default?

Sim, mas com cuidado:

 // utils.js 
  export function subtrair(a, b) 
  { 
    return a - b; 
  }
  export default function somar(a, b) 
  {
        return a + b;
  }

Importando:

 // main.js 
  import somar, 
  { 
    subtrair 
  } from "./utils.js";
  console.log(somar(5, 3));
  console.log(subtrair(5, 3));
 
  console.log(somar(5, 3)); // Saída será 8 
  console.log(subtrair(5, 3)); // Saída será 2 

Importante: módulos no navegador

Para usar módulos no navegador, o script precisa ser declarado assim:

 <script type="module" src="main.js"></script> 
Sem type="module", import e export não funcionam no navegador.

Por que isso muda tudo?

  • Código mais organizado
  • Menos variáveis globais
  • Arquivos com responsabilidades claras
  • Base para projetos grandes e frameworks

Resumo da aula para nunca mais esquecer

  • export torna algo acessível fora do arquivo
  • import traz código de outro arquivo
  • export default define o principal valor do módulo
  • Módulos ajudam a organizar projetos
  • São base do JavaScript moderno

Na próxima aula, vamos aprender sobre organização de projetos, estruturando pastas e arquivos do jeito certo.


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 Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.