Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
32 conceitos que todo desenvolvedor JavaScript deveria saber
Rating: 4.7 out of 5(640 ratings)
14,233 students

32 conceitos que todo desenvolvedor JavaScript deveria saber

Aprenda conceitos importantes para se tornar um desenvolvedor JavaScript melhor.
Created byGabriel Barreto
Last updated 2/2020
Portuguese

What you'll learn

  • Conceitos importantes de JavaScript
  • Padrões de projeto
  • Novidades da linguagem

Course content

1 section43 lectures4h 45m total length
  • Introdução3:11
  • 1 - Pilha de chamadas6:08

    Vamos falar sobre como funcionam as pilhas de chamada das funções e como elas são organizadas.

  • 2 - Tipos primitivos7:01

    Vamos falar sobre os tipos primitivos existentes no JavaScript.

  • 3 - Tipos de valores e tipos de referência5:24

    Falaremos sobre as diferenças entre tipos que apenas guardam um valor e tipos que guardam referências.

  • 4 - Implícito, Explicito e chamada de métodos9:14

    Falaremos sobre a coerção e como ela funciona ao converter tipos de variáveis.

  • 5 - == vs === vs typeof6:35

    Falaremos sobre os diferentes meios de se comparar valores.

  • 6 - Escopo global, de função, do bloco e léxico9:37

    Falaremos sobre os diferentes tipos de escopo e qual a diferença entre eles.

  • 7 - Expressão e Declaração5:02

    Falaremos sobre o que é uma expressão de código e o que é uma declaração.

  • 8.a - IIFE e Namespaces9:01

    Aprenderemos sobre Immediately Invoked Function Expression (ou uma Expressão de Função Chamada Imediatamente).

  • 8.b - Módulos7:36

    Falaremos sobre como modularizar sua aplicação e separar códigos em arquivos diferentes.

  • 9 - Fila de eventos e Pilha de eventos6:48

    Falaremos sobre o Event Queue e o Event Loop e como eles lidam com eventos que devem ser resguardados para executarem depois.

  • 10 - SetTimeout, SetInterval, requestAnimationFrame10:20

    Falaremos como manipular a execução de código de tempos em tempos.

  • 11 - Operadores Bitwise5:54

    Falaremos como usar operações que comparam os bits das entradas.

  • 12 - DOM e Árvore de layout2:35

    Falaremos rapidamente sobre o que é a DOM e como ela é representada no navegador.

  • 13.a - Factories3:01

    Falaremos sobre como utilizar fábricas para retornar objetos pré-definidos.

  • 13.b - Classes6:00

    Falaremos sobre classe, algo importante em Programação Orientada a Objetos

  • 14 - This, call, apply e bind7:43

    Vamos falar sobre como invocar funções usando meios diferentes.

  • 15 - new, constructor e instanceof7:01

    Vamos falar sobre como funciona a criação de um objeto.

  • 16 - Prototype inheritance e prototype chain3:22

    Vamos falar sobre a herança de protótipos em um objeto.

  • 17.a - Object.create10:16

    Vamos usar o método .create() do construtor de Object para criar um novo objeto.

  • 17.b - Object.assign3:50

    Usaremos o método .assign() do construtor de Object para mesclar objetos.

  • 18 - map, reduce e filter7:26

    Usaremos alguns métodos de manipulação de array para você entender o uso deles.

  • 19.a - Pure functions e side effects6:01

    Falaremos sobre um conceito de programação funcional, que são funções puras e efeitos colaterais na aplicação.

  • 19.b - State Mutation6:12

    Continuando em programação funcional, falaremos sobre mutação de estados.

  • 20 - Closures3:59

    Falaremos de closures e acesso de escopo.

  • 21 - High Order Functions4:26

    Falaremos sobre funções que retornar outras funções para execução.

  • 22 - Recursion3:32

    Falaremos sobre funções que se executam até determinada condição ser atingida.

  • 23.a - Collections6:41

    Vamos falar sobre novos tipos para criar coleções.

  • 23.b - Generators7:01

    Falaremos sobre funções geradoras que podem ser usadas para pausar e retornar a execução de uma função.

  • 24 - Promises8:58

    Falaremos sobre promises e código assíncrono.

  • 25 - Async/Await7:52

    Falaremos sobre async/await e como reescrever suas promises de uma forma ainda mais legível.

  • 26.a - Data Structures: Stack e Queue4:30

    Falaremos sobre estruturas de dados e mais uma vez sobre pilhas e filas, porém usando arrays como  exemplo.

  • 26.b - Data Structures: Linked list e Tree6:06

    Falaremos sobre mais duas estruturas de dados que podem ser utilizadas. Os links para o código de ambas estão anexados na aula.

  • 27 - Expensive Operation e Big O Notation14:28

    Falaremos sobre meios de definir o quão custosa está sendo a execução de algum algoritmo.

  • 28 - Algoritmos1:05
  • 29 - Herança, Polimorfismo e reutilização de código4:19

    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.

  • 30.a - Design Patterns: Module e Prototype6:42

    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.

  • 30.b - Design Patterns: Observer e Singleton12:41

    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.

  • 31.a - Aplicações parciais8:14

    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?

  • 31.b - Currying, Compose e pipe9:55

    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.

  • 32 - Clean Code17:50

    Falaremos sobre clean code e como manter um padrão no seu código.

  • Encerrando1:09
  • Bônus - Redes sociais e mais0:23

Requirements

  • Conhecimento básico de JavaScript

Description

!!!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.

Who this course is for:

  • Desenvolvedores front-end
  • Desenvolvedores back-end com NodeJS
  • Pessoas buscando melhorar os conhecimentos em JavaScript