Pular para o conteúdo principal
eLearner.app

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

4 aulas

Os fundamentos: declarar variáveis, reconhecer tipos, fazer aritmética e tomar decisões.

  1. 1.1Variáveis: let e constDeclarando valores, escolhendo entre const e let, entendendo o escopo básico.~8 min
  2. 1.2Tipos primitivosstring, número, booleano, nulo, indefinido: os blocos de construção da linguagem.~8 min
  3. 1.3OperadoresAritmética, comparação, lógica booleana e precedência de operadores.~10 min
  4. 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

4 aulas

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.

  1. 2.1Strings e literais de modeloAspas, escapes, crases e interpolação `${...}` para compor o texto.~8 min
  2. 2.2Métodos de stringlength, toUpperCase, include, slice, split, replace: os métodos que você usa todos os dias.~10 min
  3. 2.3Números e matemáticaInteiros e decimais, arredondamento, Math.min/max/round/floor/ceil, Math.random.~10 min
  4. 2.4Conversões de tipoNumber, String, parseInt, parseFloat, toFixed e quando NaN te morde.~8 min

03 · Módulo 3 — Matrizes e objetos

4 aulas

As duas estruturas de dados que você mais usará: listas ordenadas (matrizes) e mapas de valores-chave (objetos).

  1. 3.1Matrizes: a lista ordenadaCriando um array, leitura/gravação por índice, push/pop/shift/unshift, comprimento.~10 min
  2. 3.2Objetos: o mapa de valores-chaveLiterais, acesso a pontos e colchetes, adição/remoção de propriedades.~10 min
  3. 3.3Desestruturação e propagaçãoExtraia vários valores em uma linha; copie e mescle arrays e objetos com `...`.~12 min
  4. 3.4Iterando sobre coleçõesfor…of em matrizes, for…in em objetos, Object.keys/values/entries.~10 min

04 · Módulo 4 — Funções

4 aulas

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.

  1. 4.1Declarando uma funçãodeclaração de função vs expressão de função, parâmetros, retorno.~10 min
  2. 4.2Função de setaSintaxe compacta `=>`, corpo conciso vs bloco, retorno implícito.~10 min
  3. 4.3Parâmetros padrão e restantesValores padrão, `...rest` para contagens de argumentos variáveis, espalhados no local da chamada.~12 min
  4. 4.4Fechamentos e escopoFunções que lembram seu ambiente: contadores, fábricas, cadeia de escopo.~12 min

05 · Módulo 5 — Fluxo de controle

4 aulas

Repetir, pular, tratar erros: as construções que dão ao seu código a capacidade de reagir a dados e problemas.

  1. 5.1Loops: for e whileclássico para, enquanto, faça…enquanto: repita até uma condição.~10 min
  2. 5.2para…de e para…emIterar valores de uma coleção versus chaves de um objeto. Quando usar qual.~10 min
  3. 5.3quebrar e continuarSaia de um loop antecipadamente ou pule para a próxima iteração.~10 min
  4. 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

4 aulas

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.

  1. 6.1mapear e filtrarTransforme cada elemento (mapa) e selecione um subconjunto (filtro).~10 min
  2. 6.2reduzirAgregue uma matriz em um único valor: somas, contagens, mapas.~12 min
  3. 6.3encontrar, alguns, todosEncontre o primeiro, verifique se pelo menos um ou todos satisfazem um predicado.~10 min
  4. 6.4classificarClassifique um array com um comparador; classificação estável, copiando via toSorted.~12 min

07 · Módulo 7 — Assíncrono

4 aulas

Código que espera: Promessas, async/await, simulações de chamadas de rede (fetch) e tratamento assíncrono de erros.

  1. 7.1Promessas: o que sãoestado pendente/cumprido/rejeitado, .then/.catch, Promise.resolve e rejeitar.~12 min
  2. 7.2assíncrono / aguardarEscreva código assíncrono que pareça código síncrono.~12 min
  3. 7.3buscar (simulado)Chame um endpoint, leia JSON, componha resultados com Promise.all.~14 min
  4. 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

4 aulas

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.

  1. 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
  2. 8.2Desafio: analisador CSVTransforme uma string CSV em uma matriz de objetos usando divisão, mapeamento e desestruturação.~15 min
  3. 8.3Desafio: validador de dadosValide objetos com regras que podem ser compostas e colete todos os erros.~15 min
  4. 8.4Desafio: agendar com PromisesExecute tarefas em série, em paralelo e com limite de simultaneidade.~15 min