Clique para acessar o cursoClique para assistir a esta palestra

Como declaramos a variável como uma constante, sabemos que ela não receberá um valor diferente posteriormente, facilitando o entendimento do código para outros desenvolvedores e para nós mesmos.

Por fim, nesta seção, abordaremos os literais de modelo e como eles melhoram as strings no JavaScript em praticamente todos os aspectos, desde a formatação do texto até a inserção de valores dinâmicos e muito mais.

Tipos e condicionais

A seguir, abordaremos os tipos e condicionais, que andam de mãos dadas.

Primeiro, examinaremos uma parte estranha (e geralmente mal compreendida) do JavaScript chamada coerção de tipo, que significa como os tipos são alterados de um valor para outro.

Os tipos podem mudar implicitamente quando escrevemos condicionais e isso significa que precisamos saber sobre valores de verdade e falsidade, valores que são sutilmente coagidos ao booleano verdadeiro e falso, respectivamente.

Vamos ver como podemos usar valores de verdade e falsidade em nosso benefício, criando condicionais mais curtos usando os && (e) e || (ou) operadores. Esse truque, conhecido como curto-circuito, é a base de como bibliotecas JS como React exibem ou ocultam elementos.

Clique para acessar o cursoClique para assistir a esta palestra

Depois, veremos como reduzir nossas condicionais if-else com o operador ternário e como elas são úteis em situações em que queremos definir condicionalmente o valor de uma variável.

Funções

Depois disso, mergulharemos nas funções; a potência de qualquer aplicativo Javascript.

Desmistificaremos um recurso crucial de funções chamadas encerramentos. Vamos entender o que é um fechamento criando nosso exemplo prático. Isso nos permitirá ver por que vale a pena conhecer os fechamentos e como eles podem melhorar nosso código JavaScript acompanhando os valores entre as chamadas de função:

Clique para acessar o cursoClique para assistir a esta palestra

Abordaremos um tipo de função, que você encontrará em todos os aplicativos Javascript modernos, a saber, funções de seta. Com as funções de seta, podemos reduzir bastante nosso código à medida que percorremos todos os truques disponíveis para torná-los o mais conciso possível.

Por fim, abordaremos os valores padrão nas funções e como eles podem tornar nosso código mais confiável, especialmente se um argumento esperado não for fornecido.

Objetos

Dos tipos de dados primitivos, passaremos para os objetos.

Não é possível entender conceitos essenciais de criação de aplicativos como mutações e imutabilidade sem conhecer a diferença entre tipos primitivos e tipos de objeto em JavaScript. Abordaremos essa diferença em detalhes e veremos em primeira mão por que isso é importante para a confiabilidade do nosso código.

Vamos abordar uma variedade de padrões práticos para obter mais facilmente nossos dados de objetos através da destruição de objetos, como você pode ver abaixo:

Clique para acessar o cursoClique para assistir a esta palestra

Depois de destruir nossos objetos, veremos como montá-los melhor; usando o operador de propagação de objetos, podemos mesclar vários objetos de maneira imutável.

Matrizes

As matrizes são essenciais para qualquer lista de dados que exibimos em nossos aplicativos e precisamos saber como manipulá-las com facilidade.

Abordaremos como executar ações em todos os elementos das matrizes por meio de funções de matriz de ordem superior, como mapear e filtrar, para transformar nossos elementos ou removê-los da matriz.

Ademais, usaremos métodos como find para obter elementos individuais com base em determinadas condições:

Clique para acessar o cursoClique para assistir a esta palestra

Em seguida, abordaremos o rei dos métodos de matriz, reduziremos e veremos como é seu poder transformar nossos dados de matriz em praticamente qualquer tipo de dados que desejarmos.

JavaScript orientado a objetos

Em seguida, iniciaremos a programação orientada a objetos e abordaremos a idéia principal por trás dela que torna possível a programação orientada a objetos em JavaScript – a função construtora.

As funções de construtor tornam possível dar a nossos objetos um comportamento compartilhado (funções) por meio de algo chamado cadeia de protótipos.

Por meio de outro recurso JavaScript mais novo chamado classes, abordaremos como podemos herdar facilmente a funcionalidade por meio do que é conhecido como herança prototípica e estenderemos nossas classes para compartilhar recursos entre elas.

Clique para acessar o cursoClique para assistir a esta palestra

JavaScript assíncrono

Depois disso, passaremos ao JavaScript assíncrono, que é uma habilidade necessária para ter e entender se você deseja criar programas JavaScript sofisticados de qualquer tipo.

Começaremos com uma discussão sobre o que é código assíncrono e como ele foi tratado no passado usando funções de retorno de chamada e como isso cria problemas em nosso código (como ‘inferno de retorno de chamada’).

Felizmente, corrigiremos alguns dos problemas inerentes ao uso de retornos de chamada por meio de um recurso do ES6 chamado Promise. Adquiriremos experiência usando promessas de maneira prática, familiarizando-se com a API de busca do navegador, que nos permite fazer solicitações HTTP e trazer dados externos para nossos aplicativos.

Então, o melhor de tudo, abordaremos como fazer nossas promessas funcionarem e se parecerem com código síncrono, para que possamos facilmente raciocinar sobre isso com a ajuda da nova sintaxe async-waitit para funções.

Clique para acessar o cursoClique para assistir a esta palestra

Tópicos essenciais

Concluiremos o curso com algumas das principais habilidades necessárias para começar a criar projetos JavaScript completos. Antes de tudo, faremos um mergulho profundo nos Módulos ES, um recurso do ES6 que nos permite compartilhar nosso código JavaScript entre arquivos.

Abordaremos questões espinhosas, como a palavra-chave this, cobrindo uma lista de regras concretas a serem seguidas para descobrir seu valor em qualquer contexto, como em um manipulador de eventos DOM:

Clique para acessar o cursoClique para assistir a esta palestra

E, finalmente, concluiremos o curso com uma discussão geral sobre código imperativo versus código declarativo, pelo qual você deve se esforçar em sua carreira de codificador e por quê.

Assista ao curso agora 📺

Faça este curso e, dentro de uma ou duas tardes, você aprenderá conceitos que aumentarão significativamente suas habilidades em JavaScript e permitirão lidar com bibliotecas de front-end de alta potência como React, Angular, Svelte, Vue e muito mais com confiança.

Aproveitar! 🎉

Clique para acessar o cursoClique para assistir ao curso