
Vamos falar sobre como funcionam as pilhas de chamada das funções e como elas são organizadas.
Vamos falar sobre os tipos primitivos existentes no JavaScript.
Falaremos sobre as diferenças entre tipos que apenas guardam um valor e tipos que guardam referências.
Falaremos sobre a coerção e como ela funciona ao converter tipos de variáveis.
Falaremos sobre os diferentes meios de se comparar valores.
Falaremos sobre os diferentes tipos de escopo e qual a diferença entre eles.
Falaremos sobre o que é uma expressão de código e o que é uma declaração.
Aprenderemos sobre Immediately Invoked Function Expression (ou uma Expressão de Função Chamada Imediatamente).
Falaremos sobre como modularizar sua aplicação e separar códigos em arquivos diferentes.
Falaremos sobre o Event Queue e o Event Loop e como eles lidam com eventos que devem ser resguardados para executarem depois.
Falaremos como manipular a execução de código de tempos em tempos.
Falaremos como usar operações que comparam os bits das entradas.
Falaremos rapidamente sobre o que é a DOM e como ela é representada no navegador.
Falaremos sobre como utilizar fábricas para retornar objetos pré-definidos.
Falaremos sobre classe, algo importante em Programação Orientada a Objetos
Vamos falar sobre como invocar funções usando meios diferentes.
Vamos falar sobre como funciona a criação de um objeto.
Vamos falar sobre a herança de protótipos em um objeto.
Vamos usar o método .create() do construtor de Object para criar um novo objeto.
Usaremos o método .assign() do construtor de Object para mesclar objetos.
Usaremos alguns métodos de manipulação de array para você entender o uso deles.
Falaremos sobre um conceito de programação funcional, que são funções puras e efeitos colaterais na aplicação.
Continuando em programação funcional, falaremos sobre mutação de estados.
Falaremos de closures e acesso de escopo.
Falaremos sobre funções que retornar outras funções para execução.
Falaremos sobre funções que se executam até determinada condição ser atingida.
Vamos falar sobre novos tipos para criar coleções.
Falaremos sobre funções geradoras que podem ser usadas para pausar e retornar a execução de uma função.
Falaremos sobre promises e código assíncrono.
Falaremos sobre async/await e como reescrever suas promises de uma forma ainda mais legível.
Falaremos sobre estruturas de dados e mais uma vez sobre pilhas e filas, porém usando arrays como exemplo.
Falaremos sobre mais duas estruturas de dados que podem ser utilizadas. Os links para o código de ambas estão anexados na aula.
Falaremos sobre meios de definir o quão custosa está sendo a execução de algum algoritmo.
Falaremos mais um pouco sobre como a herança funciona, porém dessa vez focando em polimorfismo, reutilização de código e sobrescrita de métodos.
Falaremos sobre padrões de design e como eles podem te ajudar a resolver problemas. Nessa aula será o padrão de modularização para reutilização de código e prototype para compartilhamento de valores.
Continuando os padrões de design, veremos sobre o padrão de observáveis e como manipular sua aplicação a partir de uma central e singleton, que mantem métodos em um único objeto e compartilha eles entre várias instancias do mesmo objeto.
Voltando a programação funcional, que tal usarmos funções que podem criar outras funções para manter um código mais limpo e reutilizável?
Continuando a aula anterior, veremos sobre currying e como transformar cada argumento de uma função em uma nova função. Compose para aninhar todas as chamadas de funções em uma unica execução e pipes, para criar funções a partir de outra função.
Falaremos sobre clean code e como manter um padrão no seu código.
!!!ATENÇÃO!!!
Devido a última alteração da Udemy, cursos grátis devem ter apenas 2 horas de duração, sendo assim não posso alterar a grade curricular do curso ou ele será automaticamente passado para pago. Caso tenha alguma dúvida, não tenha abordado algo, entre em contato e irei te ajudar.
O CURSO
O mundo do desenvolvimento muda rápido e todos os dias surgem novas ferramentas, frameworks e diversas opções que entram no hype e precisamos aprender para nos adequarmos ao mercado e trabalho ou não ficarmos defasados.
Porém todos esses frameworks front-end atuais e muito usados tem uma coisa em comum: JavaScript.
Não importa se é o React, Vue, Angular com TypeScript, Stencil ou qualquer outra que venha a surgir, no fundo estamos usando JavaScript e muitas das vezes concentramos nossos esforços em aprender a ferramenta, mas deixamos de lado a base de tudo.
Esse curso é baseado em um repositório do GitHub que leva o nome de 33 conceitos que todo desenvolvedor JavaScript deveria saber (um dos conceitos foi deixado de lado e o link para o repositório está na aula de introdução do curso) e o intuito é justamente te ensinar melhor como o JavaScript funciona, melhorar seu conhecimento na base do desenvolvimento e tentar te explicar coisas que você provavelmente já viu, já utilizou, mas que talvez não saiba como funciona a fundo.
O QUE IRÁ APRENDER
Vamos falar sobre variáveis, classes, funções, objetos, escopos, tipos, construtores, padrões de projeto, assíncrono, pilhas e filas, DOM, estruturas, algorítimos e mais.
Em alguns conceitos irei falar qual a melhor forma de aplicar, por que usar um ou outro, quais as vantagens, diferenças, como é mais utilizado e o que for preciso para que você possa tomar decisões sobre o que e como utilizar.
O QUE VOCÊ PRECISA SABER
Tudo que você precisa para começar o curso é já ter usado JavaScript algumas vezes. Esse curso não irá abordar o básico e nem te ensinar a programar em JavaScript, se esse é seu primeiro contato com a linguagem, então esse curso não é para você.
Gostou do conteúdo e quer me ajudar de alguma outra forma?
Os cursos são grátis e feitos no meu tempo livre, mas se quiser me enviar algum valor simbólico, seja por ter gostado do conteúdo, por querer ajudar, ou qualquer outro motivo, deixo aqui meu PicPay para isso:
PicPay: @GabrielBarretoDev
PRA FINALIZAR
Falo sempre nos cursos, mas gostaria de deixar aqui também. Estou disponível para tirar qualquer duvida, pode entrar em contato comigo aqui ou em alguma outra rede (links no curso). Qual pedido referente as aulas poderá ser atendido, então se alguma aula ficou confusa, acha que faltou falar sobre algo, a didática ficou confusa ou qualquer outro problema, basta me avisar e vejo o que pode ser feito.
Se quiser que eu fale de algum outro assunto, outro conceito, pode me falar e ficarei feliz em discutir e criar um vídeo em uma sessão bônus.
Então aproveite e bom curso.