Aprenda
Início do módulo

JavaScript do zero

Variável, função, array, objeto e assíncrono — o que todo o resto do Aprenda assume que você já sabe.

16 lições267 min no total0% concluído
Começar trilha →

Fundamentos

O suficiente pra usar na prática sem se machucar.

8 lições · 132 min
  1. 1Variáveis, tipos e operadoreslet, const, os tipos primitivos e por que === substituiu == na maioria do código moderno.14 min
  2. 2Condicionais e loopsif/else, switch, os 3 tipos de loop mais comuns e por que for...of substituiu o for clássico na maioria dos casos.14 min
  3. 3Funções e arrow functionsDeclaração vs. expressão, arrow function e a diferença real de comportamento do 'this'.15 min
  4. 4Arrays e seus métodosmap, filter e reduce — os três métodos que substituem quase todo loop manual sobre array.18 min
  5. 5Objetos e destructuringSpread, destructuring e por que 'copiar' um objeto com = não copia nada.15 min
  6. 6DOM e eventosComo o JavaScript enxerga e modifica uma página HTML — antes de qualquer framework fazer isso pra você.16 min
  7. 7Assíncrono: callbacks, promises, async/awaitPor que buscar dado de uma API não trava a página — e como o código foi evoluindo pra lidar com isso.18 min
  8. 8Projeto guiado: lista de tarefas em JS puroJunta DOM, eventos, array e async num único mini-app — sem framework nenhum.22 min

Intermediário

O que fundamentos deixou em aberto — produção, performance, casos reais.

8 lições · 135 min
  1. 1Escopo, hoisting e closuresvar 'vaza' pro escopo da função inteira, hoisting não é mágica e uma função pode continuar lembrando de uma variável muito depois de ter terminado de rodar.16 min
  2. 2this, call, apply e bindthis não é fixo — depende de como a função é chamada, e call/apply/bind existem pra você controlar isso na mão.16 min
  3. 3Prototypes e classes ES6class parece Java ou C#, mas por baixo é o mesmo mecanismo de protótipo que sempre existiu em JavaScript.16 min
  4. 4Módulos ES: import e exportrequire e import não são a mesma coisa por baixo — misturar os dois sem entender por quê é a causa do erro clássico 'Cannot use import statement outside a module'.15 min
  5. 5Event loop, microtasks e macrotasksawait parece pausar tudo, mas por baixo é a call stack, a fila de callbacks e a fila de microtasks decidindo quem roda primeiro.17 min
  6. 6Imutabilidade, cópia profunda e Map/Set{ ...objeto } copia só o primeiro nível — um objeto aninhado dentro dele continua sendo a mesma referência nos dois lados.15 min
  7. 7Tratando erro em código assíncronoPromise.all derruba tudo se UMA requisição falhar — às vezes é exatamente isso que você não quer.16 min
  8. 8Projeto guiado: consumindo uma API com cache simplesJunta closure, event loop e tratamento de erro pra construir um mini cliente de API que não refaz a mesma requisição duas vezes.24 min