Curso interativo
Curso JavaScript
Aprenda JavaScript do zero, em inglês, com um motor que executa seu código diretamente no navegador.
01 · Módulo 1 — Noções básicas de linguagem
Os fundamentos: declarar variáveis, reconhecer tipos, fazer aritmética e tomar decisões.
- 1.1Variáveis: let e constDeclarando valores, escolhendo entre const e let, entendendo o escopo básico.~8 min
- 1.2Tipos primitivosstring, número, booleano, nulo, indefinido: os blocos de construção da linguagem.~8 min
- 1.3OperadoresAritmética, comparação, lógica booleana e precedência de operadores.~10 min
- 1.4Condicionais: if, else, ternárioExecute código diferente dependendo do valor de uma expressão.~10 min
02 · Módulo 2 — Strings e números
Os dois tipos mais utilizados: compor texto com literais de modelo, manipulá-lo com métodos de string, fazer aritmética com números e matemática.
- 2.1Strings e literais de modeloAspas, escapes, crases e interpolação `${...}` para compor o texto.~8 min
- 2.2Métodos de stringlength, toUpperCase, include, slice, split, replace: os métodos que você usa todos os dias.~10 min
- 2.3Números e matemáticaInteiros e decimais, arredondamento, Math.min/max/round/floor/ceil, Math.random.~10 min
- 2.4Conversões de tipoNumber, String, parseInt, parseFloat, toFixed e quando NaN te morde.~8 min
03 · Módulo 3 — Matrizes e objetos
As duas estruturas de dados que você mais usará: listas ordenadas (matrizes) e mapas de valores-chave (objetos).
- 3.1Matrizes: a lista ordenadaCriando um array, leitura/gravação por índice, push/pop/shift/unshift, comprimento.~10 min
- 3.2Objetos: o mapa de valores-chaveLiterais, acesso a pontos e colchetes, adição/remoção de propriedades.~10 min
- 3.3Desestruturação e propagaçãoExtraia vários valores em uma linha; copie e mescle arrays e objetos com `...`.~12 min
- 3.4Iterando sobre coleçõesfor…of em matrizes, for…in em objetos, Object.keys/values/entries.~10 min
04 · Módulo 4 — Funções
Divida seus programas em partes reutilizáveis: declare-os, escreva-os de forma compacta com setas, passe parâmetros flexíveis e entenda os encerramentos.
- 4.1Declarando uma funçãodeclaração de função vs expressão de função, parâmetros, retorno.~10 min
- 4.2Função de setaSintaxe compacta `=>`, corpo conciso vs bloco, retorno implícito.~10 min
- 4.3Parâmetros padrão e restantesValores padrão, `...rest` para contagens de argumentos variáveis, espalhados no local da chamada.~12 min
- 4.4Fechamentos e escopoFunções que lembram seu ambiente: contadores, fábricas, cadeia de escopo.~12 min
05 · Módulo 5 — Fluxo de controle
Repetir, pular, tratar erros: as construções que dão ao seu código a capacidade de reagir a dados e problemas.
- 5.1Loops: for e whileclássico para, enquanto, faça…enquanto: repita até uma condição.~10 min
- 5.2para…de e para…emIterar valores de uma coleção versus chaves de um objeto. Quando usar qual.~10 min
- 5.3quebrar e continuarSaia de um loop antecipadamente ou pule para a próxima iteração.~10 min
- 5.4tentar / pegar / jogarLevante e detecte erros, separe o fluxo normal do fluxo excepcional.~12 min
06 · Módulo 6 — Métodos de array funcional
Os métodos que transformam arrays: mapear para alterar cada elemento, filtrar para selecionar, reduzir para agregar, localizar/alguns/cada para pesquisar, classificar para ordenar.
- 6.1mapear e filtrarTransforme cada elemento (mapa) e selecione um subconjunto (filtro).~10 min
- 6.2reduzirAgregue uma matriz em um único valor: somas, contagens, mapas.~12 min
- 6.3encontrar, alguns, todosEncontre o primeiro, verifique se pelo menos um ou todos satisfazem um predicado.~10 min
- 6.4classificarClassifique um array com um comparador; classificação estável, copiando via toSorted.~12 min
07 · Módulo 7 — Assíncrono
Código que espera: Promessas, async/await, simulações de chamadas de rede (fetch) e tratamento assíncrono de erros.
- 7.1Promessas: o que sãoestado pendente/cumprido/rejeitado, .then/.catch, Promise.resolve e rejeitar.~12 min
- 7.2assíncrono / aguardarEscreva código assíncrono que pareça código síncrono.~12 min
- 7.3buscar (simulado)Chame um endpoint, leia JSON, componha resultados com Promise.all.~14 min
- 7.4Erros em código assíncronotry/catch espera, .catch em Promises, falhas em Promise.all.~12 min
08 · Módulo 8 — Prática e composição
Junte todas as peças: organize o código em módulos, analise um CSV, valide os dados de entrada e agende tarefas com Promises.
- 8.1Módulos ESM: importação/exportaçãoDivida o código em arquivos e componha bibliotecas com exportação e importação (conceito).~12 min
- 8.2Desafio: analisador CSVTransforme uma string CSV em uma matriz de objetos usando divisão, mapeamento e desestruturação.~15 min
- 8.3Desafio: validador de dadosValide objetos com regras que podem ser compostas e colete todos os erros.~15 min
- 8.4Desafio: agendar com PromisesExecute tarefas em série, em paralelo e com limite de simultaneidade.~15 min