Este repositório reúne exercícios, anotações e pequenos projetos desenvolvidos durante meus estudos de JavaScript.
O objetivo é registrar minha evolução na linguagem, consolidar os fundamentos da programação e construir uma base sólida para avançar no desenvolvimento back-end com Node.js e TypeScript.
Os conteúdos estão organizados por seções, passando por lógica de programação, fundamentos do JavaScript, funções, arrays, objetos, protótipos, Programação Orientada a Objetos e programação assíncrona.
- Consolidar os fundamentos da programação
- Aprofundar meus conhecimentos em JavaScript
- Praticar lógica e resolução de problemas
- Compreender funções, arrays, objetos e protótipos
- Aplicar os conceitos de Programação Orientada a Objetos
- Compreender o funcionamento do JavaScript assíncrono
- Escrever códigos mais organizados e legíveis
- Construir uma base sólida para Node.js, TypeScript e back-end
- Registrar minha evolução prática no GitHub
- JavaScript
- HTML5
- CSS3
- Git
- GitHub
- WebStorm
- Visual Studio Code
- Linux
javascript-studies/
│
├── Seção_LP/
│ └── Exercícios de lógica de programação
│
├── Seção_JavascriptBasico/
│ └── Fundamentos da linguagem JavaScript
│
├── Seção_FunçõesAvançadas/
│ └── Funções, escopo, closures e callbacks
│
├── Seção_ArraysAvançados/
│ └── Métodos de arrays e manipulação de dados
│
├── Seção_ObjetosPrototypesAvançados/
│ └── Objetos, prototypes, prototype chain e herança
│
├── Seção_POO/
│ └── Programação Orientada a Objetos com JavaScript
│
├── Seção_Assincrono/
│ └── Callbacks, Promises, async/await e requisições
│
├── jsconfig.json
├── .gitignore
└── README.md
A estrutura pode ser atualizada conforme novos exercícios e conteúdos forem adicionados.
- Variáveis
- Tipos de dados
- Operadores
- Estruturas condicionais
- Estruturas de repetição
- Entrada e saída de dados
- Resolução de problemas
- Organização do raciocínio lógico
- Tipos primitivos
- Operadores
- Strings
- Numbers
- Arrays
- Objetos
- Funções
- Escopo
- Template strings
- Estruturas de controle
- Tratamento de erros
- Function declarations
- Function expressions
- Arrow functions
- Parâmetros e argumentos
- Retorno de valores
- Escopo léxico
- Closures
- Callbacks
- Factory functions
- Constructor functions
- Funções recursivas
- Manipulação de arrays
- Iteração
forEach()map()filter()reduce()find()findIndex()some()every()sort()- Spread operator
- Rest operator
- Desestruturação
- Objetos literais
- Propriedades e métodos
- Palavra-chave
this - Funções construtoras
- Prototypes
- Prototype chain
- Herança via prototype
- Métodos em prototypes
Object.create()Object.defineProperty()Object.defineProperties()- Getters e setters
- Classes em JavaScript
- Constructors
- Métodos de instância
- Métodos estáticos
- Encapsulamento
- Herança
- Polimorfismo
- Getters e setters
- Composição
- Abstração
- Separação de responsabilidades
- Aplicação de POO em exercícios e projetos
- Callbacks
- Callback hell
- Promises
- Estados de uma Promise
.then().catch().finally()asyncawait- Tratamento de erros assíncronos
- Event Loop
- Requisições HTTP
- Consumo de APIs
XMLHttpRequest- Fetch API
- Axios
Durante os estudos, desenvolvi exercícios e pequenos projetos para aplicar os conceitos aprendidos.
| Projeto ou exercício | Conteúdo principal | Status |
|---|---|---|
| Exercícios de lógica | Lógica de programação | Concluído |
| Exercícios com funções | Funções e escopo | Concluído |
| Manipulação de arrays | Métodos de arrays | Concluído |
| Validação de CPF | Funções construtoras e classes | Concluído |
| Validação de formulários | DOM e validação de dados | Concluído |
| Exercícios com objetos | Objetos e propriedades | Concluído |
| Exercícios com prototypes | Prototypes e herança | Concluído |
| Exercícios de POO | Classes, herança e composição | Concluído |
| Exercícios assíncronos | Promises, async/await e requisições | Concluído |
| Consumo de APIs | Fetch API e Axios | Concluído |
- Lógica de Programação
- Fundamentos do JavaScript
- Funções Avançadas
- Arrays Avançados
- Objetos
- Prototypes
- Herança com Prototypes
- Programação Orientada a Objetos
- JavaScript Assíncrono
- Promises
- Async/Await
- Requisições HTTP
- Consumo de APIs
Ao longo deste repositório, desenvolvi conhecimentos importantes para programação e desenvolvimento de software, como:
- Escrever código mais organizado e legível
- Resolver problemas utilizando lógica de programação
- Manipular e transformar dados com JavaScript
- Compreender melhor o funcionamento interno da linguagem
- Utilizar funções, objetos, classes e módulos
- Aplicar Programação Orientada a Objetos
- Trabalhar com código assíncrono
- Consumir dados de APIs externas
- Tratar erros em operações síncronas e assíncronas
- Utilizar Git e GitHub no fluxo de estudos
- Construir uma base sólida antes de avançar para o back-end
Clone o repositório:
git clone https://github.com/davi-amaraldev/javascript-studies.gitEntre no diretório:
cd javascript-studiesPara executar um arquivo JavaScript com Node.js:
node caminho/do/arquivo.jsOs exercícios que possuem interface podem ser executados diretamente no navegador por meio do arquivo index.html.
Após consolidar os conteúdos deste repositório, meus próximos estudos serão direcionados para:
- TypeScript
- Node.js
- Desenvolvimento de APIs REST
- Fastify
- PostgreSQL
- Validação de dados
- Tratamento de erros
- Testes automatizados
- Arquitetura de aplicações back-end
Esses conteúdos serão desenvolvidos em projetos e repositórios próprios.
Este repositório permanece em atualização conforme reviso os conteúdos e adiciono novos exercícios.
O objetivo não é apenas concluir aulas, mas compreender os conceitos, praticá-los e aplicá-los em projetos reais.
Alguns códigos representam etapas anteriores do meu aprendizado e foram mantidos para demonstrar minha evolução ao longo do tempo.
Davi Amaral
Estudante de Engenharia de Software no UNIPÊ, com foco em desenvolvimento back-end utilizando JavaScript, TypeScript e Node.js.
- LinkedIn: linkedin.com/in/davi-amaraldev
- GitHub: github.com/davi-amaraldev
⭐ Caso este repositório tenha sido útil ou interessante, considere deixar uma estrela.