🧠Roadmap Diário de Estudo – JavaScript Moderno
🗓️ Duração: 21 dias (3 semanas) 📌 Tempo sugerido por dia: 30 a 60 minutos
⸻
✅ Semana 1 – Fundamentos e Sintaxe Base
⸻
📅 Dia 1: Introdução + Variáveis e Tipos de Dados
• var, let, const: diferenças
• Tipos primitivos: string, number, boolean, undefined, null
• Operadores aritméticos e lógicos: +, -, *, /, ==, ===, !=, >, <
ExercĂcio:
• Criar 3 variáveis: nome, idade e status de estudante.
• Exibir no console.log com uma frase formatada.
⸻
đź“… Dia 2: Condicionais
• if, else, else if
• Operador ternário
• Boas práticas: evitar lógica aninhada demais
ExercĂcio:
• Criar um programa que diga se uma pessoa pode dirigir baseado na idade.
⸻
đź“… Dia 3: Loops
• for, while, do...while
• break e continue
• Diferença entre eles
ExercĂcio:
• Criar uma tabuada do 5 com for
⸻
đź“… Dia 4: Arrays
• Criar arrays e acessar itens
• Métodos principais: push, pop, shift, unshift, length
ExercĂcio:
• Criar um array com nomes e exibir todos com for
⸻
đź“… Dia 5: Objetos
• Criar objetos com chaves e valores
• Acessar e modificar propriedades
• Objetos dentro de arrays e vice-versa
ExercĂcio:
• Criar um objeto usuario com nome, idade e uma lista de tecnologias que ele usa
⸻
📅 Dia 6: Funções
• Declaração e expressão
• Parâmetros e retorno
• Arrow functions
ExercĂcio:
• Criar uma função que receba dois números e retorne a média
⸻
đź“… Dia 7: RevisĂŁo + Projeto simples
• Criar um mini sistema de cadastro de alunos (array de objetos)
• Comandos: adicionar aluno, listar, buscar por nome
⸻
🧪 Semana 2 – JavaScript Moderno e DOM
⸻
📅 Dia 8: Arrays avançado
• map, filter, reduce, find, some, every
ExercĂcio:
• Criar um array de produtos e usar map e filter para gerar um resumo
⸻
đź“… Dia 9: Manipulando o DOM (HTML + JS)
• document.querySelector, getElementById, innerText, innerHTML, value
• Eventos: onclick, oninput, addEventListener
ExercĂcio:
• Criar um botão que altera o texto de uma div ao ser clicado
⸻
📅 Dia 10: Eventos e Formulários
• Capturar dados do usuário
• Validar input
• Prevenir comportamento padrão
ExercĂcio:
• Criar um formulário que exibe o nome digitado na tela
⸻
📅 Dia 11: Manipulação de classes e estilos
• classList.add, remove, toggle
• Alterar estilo com style
ExercĂcio:
• Criar botão modo claro/escuro
⸻
đź“… Dia 12: Temporizadores
• setTimeout, setInterval
• clearInterval
ExercĂcio:
• Criar cronômetro que começa ao clicar em um botão
⸻
đź“… Dia 13: Armazenamento local
• localStorage, sessionStorage
• Armazenar e recuperar dados
ExercĂcio:
• Criar um contador de visitas usando localStorage
⸻
đź“… Dia 14: RevisĂŁo + Mini projeto
Criar uma ToDo List com:
• Adição de tarefas
• Marcar como feita
• Remover
• Salvar tarefas no localStorage
⸻
🔄 Semana 3 – JS AssĂncrono, MĂłdulos e APIs
⸻
📅 Dia 15: Funções de alta ordem + Callbacks
• O que é uma função que recebe outra
• Criar callback personalizado
⸻
đź“… Dia 16: Promises
• .then, .catch, .finally
• Promessa resolvida e rejeitada
• Boas práticas
⸻
đź“… Dia 17: Async/Await
• Criar funções assĂncronas
• Comparar com Promises
• Tratamento de erros com try/catch
ExercĂcio:
• Criar função async que simula uma busca de dados com setTimeout
⸻
📅 Dia 18: Requisições HTTP
• fetch, axios
• Métodos GET, POST
• Cabeçalhos e JSON
ExercĂcio:
• Fazer requisição para a API https://jsonplaceholder.typicode.com/users e exibir os nomes
⸻
đź“… Dia 19: MĂłdulos ES6
• import e export
• Separar lógicas em arquivos
• Boa organização
⸻
đź“… Dia 20: Tratamento de erros e debugging
• try/catch
• throw
• console.log, console.error, debugger
⸻
đź“… Dia 21: RevisĂŁo + Projeto final
Criar um sistema de busca de usuários
• Campo para digitar nome
• Botão de busca
• Consumir API externa
• Exibir nome, e-mail e empresa
🗓️ Duração: 21 dias (3 semanas) 📌 Tempo sugerido por dia: 30 a 60 minutos
⸻
✅ Semana 1 – Fundamentos e Sintaxe Base
⸻
📅 Dia 1: Introdução + Variáveis e Tipos de Dados
• var, let, const: diferenças
• Tipos primitivos: string, number, boolean, undefined, null
• Operadores aritméticos e lógicos: +, -, *, /, ==, ===, !=, >, <
ExercĂcio:
• Criar 3 variáveis: nome, idade e status de estudante.
• Exibir no console.log com uma frase formatada.
⸻
đź“… Dia 2: Condicionais
• if, else, else if
• Operador ternário
• Boas práticas: evitar lógica aninhada demais
ExercĂcio:
• Criar um programa que diga se uma pessoa pode dirigir baseado na idade.
⸻
đź“… Dia 3: Loops
• for, while, do...while
• break e continue
• Diferença entre eles
ExercĂcio:
• Criar uma tabuada do 5 com for
⸻
đź“… Dia 4: Arrays
• Criar arrays e acessar itens
• Métodos principais: push, pop, shift, unshift, length
ExercĂcio:
• Criar um array com nomes e exibir todos com for
⸻
đź“… Dia 5: Objetos
• Criar objetos com chaves e valores
• Acessar e modificar propriedades
• Objetos dentro de arrays e vice-versa
ExercĂcio:
• Criar um objeto usuario com nome, idade e uma lista de tecnologias que ele usa
⸻
📅 Dia 6: Funções
• Declaração e expressão
• Parâmetros e retorno
• Arrow functions
ExercĂcio:
• Criar uma função que receba dois números e retorne a média
⸻
đź“… Dia 7: RevisĂŁo + Projeto simples
• Criar um mini sistema de cadastro de alunos (array de objetos)
• Comandos: adicionar aluno, listar, buscar por nome
⸻
🧪 Semana 2 – JavaScript Moderno e DOM
⸻
📅 Dia 8: Arrays avançado
• map, filter, reduce, find, some, every
ExercĂcio:
• Criar um array de produtos e usar map e filter para gerar um resumo
⸻
đź“… Dia 9: Manipulando o DOM (HTML + JS)
• document.querySelector, getElementById, innerText, innerHTML, value
• Eventos: onclick, oninput, addEventListener
ExercĂcio:
• Criar um botão que altera o texto de uma div ao ser clicado
⸻
📅 Dia 10: Eventos e Formulários
• Capturar dados do usuário
• Validar input
• Prevenir comportamento padrão
ExercĂcio:
• Criar um formulário que exibe o nome digitado na tela
⸻
📅 Dia 11: Manipulação de classes e estilos
• classList.add, remove, toggle
• Alterar estilo com style
ExercĂcio:
• Criar botão modo claro/escuro
⸻
đź“… Dia 12: Temporizadores
• setTimeout, setInterval
• clearInterval
ExercĂcio:
• Criar cronômetro que começa ao clicar em um botão
⸻
đź“… Dia 13: Armazenamento local
• localStorage, sessionStorage
• Armazenar e recuperar dados
ExercĂcio:
• Criar um contador de visitas usando localStorage
⸻
đź“… Dia 14: RevisĂŁo + Mini projeto
Criar uma ToDo List com:
• Adição de tarefas
• Marcar como feita
• Remover
• Salvar tarefas no localStorage
⸻
🔄 Semana 3 – JS AssĂncrono, MĂłdulos e APIs
⸻
📅 Dia 15: Funções de alta ordem + Callbacks
• O que é uma função que recebe outra
• Criar callback personalizado
⸻
đź“… Dia 16: Promises
• .then, .catch, .finally
• Promessa resolvida e rejeitada
• Boas práticas
⸻
đź“… Dia 17: Async/Await
• Criar funções assĂncronas
• Comparar com Promises
• Tratamento de erros com try/catch
ExercĂcio:
• Criar função async que simula uma busca de dados com setTimeout
⸻
📅 Dia 18: Requisições HTTP
• fetch, axios
• Métodos GET, POST
• Cabeçalhos e JSON
ExercĂcio:
• Fazer requisição para a API https://jsonplaceholder.typicode.com/users e exibir os nomes
⸻
đź“… Dia 19: MĂłdulos ES6
• import e export
• Separar lógicas em arquivos
• Boa organização
⸻
đź“… Dia 20: Tratamento de erros e debugging
• try/catch
• throw
• console.log, console.error, debugger
⸻
đź“… Dia 21: RevisĂŁo + Projeto final
Criar um sistema de busca de usuários
• Campo para digitar nome
• Botão de busca
• Consumir API externa
• Exibir nome, e-mail e empresa