Escreva JavaScript moderno e mais limpo com ES6: arrow functions, template literals, Promises e async/await em um curso online gratuito com exercícios e certificado.
Neste curso gratuito, aprenda sobre
Principais novidades do ES6/ES2015 e impacto no JavaScript moderno
Escopo e hoisting: diferenças práticas entre var, let e const
Temporal Dead Zone: erros ao acessar let/const antes da declaração
Arrow functions: sintaxe curta e comportamento do this (léxico)
Template literals e tagged templates para strings e HTML dinâmico
Shorthand properties e default parameters para escrever menos código
Métodos de string: startsWith, endsWith, includes, padStart e padEnd
Métodos de array: from, of, find/findIndex, filter, fill e includes
Destructuring em objetos/arrays e swap de variáveis sem temporário
Spread (...) e rest params: expandir iteráveis e agrupar argumentos
Promises e fetch: estados, encadeamento e Promise.all vs Promise.race
Async/await com tratamento de erros e paralelismo com Promise.all
Prototypes e classes ES6: herança, extends/super e métodos estáticos
Symbols, iteradores, generators, Proxy, Set/WeakSet, Map/WeakMap e Object.entries/values
Sobre o curso online gratuito
Dominar JavaScript moderno (ES6+) é um passo decisivo para escrever código mais legível, previsível e fácil de manter — e também para acompanhar o que o mercado espera de quem atua com Front-End. Neste curso online gratuito de JavaScript Moderno ES6, você evolui do “JavaScript que funciona” para o “JavaScript bem escrito”, entendendo as mudanças que transformaram a linguagem e como aplicá-las no dia a dia de projetos reais.
Ao longo das aulas, você consolida fundamentos essenciais como escopo, hoisting e boas práticas de declaração com var, let e const, evitando erros comuns que geram bugs difíceis de rastrear. Você também aprende a escrever funções de forma mais expressiva com arrow functions, compreendendo quando elas ajudam — e quando podem atrapalhar — especialmente em situações envolvendo o this.
O curso reforça a ideia de produtividade com recursos que deixam o código mais enxuto: template literals para compor strings e fragmentos de HTML, shorthand properties e default parameters para tornar objetos e funções mais simples, além de métodos modernos de strings e arrays que substituem soluções improvisadas e repetitivas. Outro ponto forte é ganhar fluidez com destructuring e com os operadores spread e rest, elevando a qualidade da sua manipulação de dados e tornando o código mais semântico.
Na parte assíncrona, você aprende a raciocinar com Promises e a tornar seu fluxo mais claro com async/await, incluindo estratégias de tratamento de erros e execução em paralelo. Isso é fundamental para lidar com requisições, integrações e qualquer rotina que dependa de tempo de resposta. Conforme avança, você também entende conceitos mais avançados do ecossistema da linguagem, como protótipos, classes e herança, além de recursos como Symbol, iterators, generators e Proxy — ampliando seu repertório para construir soluções modernas.
Para fixar o aprendizado, o curso intercala explicações com exercícios e perguntas de revisão, ajudando você a validar o entendimento e corrigir lacunas rapidamente. Ao final, você terá mais confiança para ler códigos atuais, implementar padrões modernos e elevar o nível do seu JavaScript no desenvolvimento Front-End.
Exercício: Em JavaScript ES6, qual afirmação descreve corretamente o comportamento de uma variável declarada com const quando ela referencia um objeto?
Aula em vídeo: 05. Temporal Dead Zone - Mini-curso JS Moderno (ES6)02m
Exercício: Ao tentar acessar uma variável antes de sua atribuição, qual comportamento é esperado ao usar let/const em JavaScript (ES6)?
Aula em vídeo: 06. Introdução Arrow Function - Mini-curso JS Moderno (ES6)06m
Aula em vídeo: 07. Arrow function e o this - Mini-curso JS Moderno (ES6)06m
Exercício: Ao trocar uma function tradicional por uma arrow function em um event listener de clique, o que acontece com o valor de this?
Exercício: Em JavaScript ES6, ao usar um iterator (obtido via Symbol.iterator) e chamar o método next(), o que o retorno indica?
Aula em vídeo: 32. Introdução a Generators - Mini-curso JS Moderno (ES6)05m
Exercício: Em JavaScript ES6, qual alternativa descreve melhor como um generator funciona ao usar yield?
Aula em vídeo: 33. Fluxo de Generators - Mini-curso JS Moderno (ES6)06m
Aula em vídeo: 34. Introdução ao Proxy - Mini-curso JS Moderno (ES6)06m
Exercício: Em JavaScript ES6, qual é a principal finalidade de um Proxy ao envolver um objeto (target) com um handler?
Aula em vídeo: 35. Introdução ao Set - Mini-curso JS Moderno (ES6)05m
Aula em vídeo: 36. Introdução ao WeakSet - Mini-curso JS Moderno (ES6)03m
Exercício: No ES6, qual é uma limitação importante do WeakSet em comparação ao Set?
Aula em vídeo: 37. Introdução ao Map - Mini-curso JS Moderno (ES6)02m
Exercício: No JavaScript ES6, qual é uma diferença essencial entre Map e Set?
Aula em vídeo: 38. Introdução ao WeakMap - Mini-curso JS Moderno (ES6)03m
Exercício: Qual é a principal vantagem do WeakMap em relação ao Map?
Aula em vídeo: 39. Métodos de padStart e padEnd - Mini-curso JS Moderno (ES6)04m
Exercício: Em JavaScript ES6+, o que faz o método String.prototype.padStart()?
Aula em vídeo: 40. Introdução ao async/await - Mini-curso JS Moderno (ES6)11m
Exercício: Qual é a regra para usar await corretamente em JavaScript moderno (ES6+)?
Aula em vídeo: 41. Tratando erros no async await - Mini-curso JS Moderno (ES6)02m
Exercício: Qual é a estrutura básica em JavaScript (ES6) para tratar erros durante a execução de um trecho de código?
Aula em vídeo: 42. Async/await com múltiplas promises - Mini-curso JS Moderno (ES6)06m
Exercício: Em JavaScript ES6+, qual é a melhor forma de executar várias requisições (Promises) em paralelo e aguardar todas terminarem antes de continuar?
Aula em vídeo: 43. Método de array.includes - Mini-curso JS Moderno (ES6)02m
Exercício: Qual é a forma mais moderna (ES6) e legível de verificar se um valor existe dentro de um Array em JavaScript?
Aula em vídeo: 44. Método de object.entries - Mini-curso JS Moderno (ES6)02m
Exercício: Em JavaScript ES6, qual é o resultado de usar Object.entries(animals) em um objeto animals?
Aula em vídeo: 45. Método de object.values - Mini-curso JS Moderno (ES6)01m