Disclaimer
Parte deste post eu devo os créditos ao codar.me pois ele tem uma excelente postagem em seu instagram que eu vi e decidi criar este post copiando partes do que ele postou, sigam o instagram dele que vale muito a pena.
Como achei muito interessante, resolvi modificá-lo em partes, acrescentando algumas coisas que aprendi estudando JavaScript, assim juntando duas ótimas experiências para lhe proporcionar o melhor.
Start
Para iniciar em qualquer assunto que te leve a evolução, primeiro você precisa atender aos requisitos daquela jornada não é mesmo, então é bastante aconselhável que antes de você começar a seguir este roadmap, você já tenha algum prévio conhecimento em:
- HTML Hypertext Markup Language ou Linguagem de Marcação de HiperTexto
- CSS Cascading Style Sheets ou Folhas de Estilo em Cascata
- Git Sistema de controle de versões
- Github Plataforma de controle e versionamento colaborativo
Step-1
Se você já tem uma noção mesmo que básica sobre os requesitos do start, então vamos começar abordando agora o que será considerádo o básico que você precisa saber da linguagem JavaScript:
- Variáveis e tipos de variáveis var, let, const
- Funções
- Operadores lógicos
- Operadores condicionais
- Estruturas de repetição
- Objetos de listas array
- Tipos de dados
Step-2
Após aprender os conceitos básicos sobre a linguagem JavaScript, vou lhe aprensentar o que deve ser considerado o básico que um desenvolvedor JavaSript deve saber sobre a linguagem, após compreender isto, pode se considerar um desenvolvedor JavaScript:
- Callbacks e closures
- Módulos esm, commonjs
- Fluxo de execução síncrono/assíncrono
- Promises
- Truthy e Falsy
- Escopo local e global
- Hoisting
- Keywords
Step-3
E agora vamos ao que você precisará entender para alcançar uma senioridade na linguagem pois o resto realmente virá com tempo de vivência com a linguagem:
- Classes e herenças e a cadeia de prototype
- Call stack, modelos de concorrência e event loop
- Operadores bit a bit
- JS no navegador DOM, BOM, event handing, AJAX
- Web API’s
- Masterizar Promises
- ArrayBuffer e Streams API
- Interpretador JS
- Strict Mode
Porém para se alcançar uma verdadeira senioridade com a linguagem você precisará de alguns elementos que compõe o uso desta linguagem, não é interessante isso, por isto você precisará ir além e aprender tambem:
- NPM e Yarn
- Dependências e node_modules
- Package.json e scripts
- Proposals e o TC39
- NodeJS caso você queira se tornar BackEnd
- Frameworks como React, Angula, Vue…
- Protocolo HTTP
- Código e operações binárias