Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript direto das trincheiras

JavaScript direto das trincheiras

Todo desenvolvedor web precisa saber JavaScript mas uns acham que não precisa aprender, outros utilizam uma lib ou framework e acaba não sabendo como realmente a linguagem funciona. Esse slide apresenta conceitos básicos do JavaScript que todo desenvolvedor web deveria saber

Pedro Araujo

February 24, 2016
Tweet

More Decks by Pedro Araujo

Other Decks in Technology

Transcript

  1. JAVASCRIPT DIRETO DAS TRINCHEIRAS VAMOS FALAR DO QUE? ▸ Entendendo

    o JavaScript ▸ Funções como objeto de primeira classe ▸ Loop do navegador ▸ Callback ▸ Escopo e funções ▸ O “this" ▸ IIFE ▸ Closures ▸ Prototypes ▸ Bate-papo
  2. "JAVASCRIPT IS THE ONLY LANGUAGE PEOPLE FEEL LIKE THEY DON'T

    NEED TO LEARN TO USE." Douglas Crockford ENTENDENDO O JAVASCRIPT
  3. FUNÇÕES COMO OBJETOS DE PRIMEIRA CLASSE TODO CÓDIGO DE SCRIPT

    QUE ESCREVEREMOS ESTARÁ DENTRO DE UMA FUNÇÃO
  4. FUNÇÕES COMO OBJETOS DE PRIMEIRA CLASSE PODEM SER ATRIBUÍDOS A

    VARIÁVEIS, ENTRADAS DE ARRAYS E PROPRIEDADES DE OUTROS OBJETOS
  5. FUNÇÕES COMO OBJETOS DE PRIMEIRA CLASSE PODEM CONTAR COM PROPRIEDADES

    QUE PODEM SER CRIADAS E ATRIBUÍDAS DINAMICAMENTE
  6. LOOP DE EVENTOS DO NAVEGADOR COMO QUANDO UM TEMPO LIMITE

    EXPIRA OU UM INTERVALO É DISPARADO
  7. CALLBACKS É UM MECANISMO DE CONTROLE DE FLUXO QUE VISA

    BENEFICIAR PROCESSOS ASSÍNCRONOS.
  8. ESCOPO E FUNÇÕES VARIÁVEIS ESTÃO EM ESCOPO DO PONTO DE

    DECLARAÇÃO ATÉ O FINAL DA FUNÇÃO
  9. ESCOPO E FUNÇÕES FUNÇÕES NOMEADAS ESTÃO EM ESCOPO DENTRO DA

    FUNÇÃO INTEIRA NA QUAL FOI DECLARADAS (HOISTING)
  10. ESCOPO E FUNÇÕES EXEMPLO DE CÓDIGO outer() ✓ outer() ✓


    inner() ✓ outer() ✓
 inner() ✓
 a ✓ outer() ✓
 inner() ✓ a ✓ b ✓ outer() ✓ outer() ✓
 inner() ✓ a ✓ b ✓ c ✓ outer() ✓
 inner() ✓ a ✓ b ✓ c ✓
  11. O “THIS” MAS CUIDADO! INVOCAÇÃO COMO MÉTODO É APENAS UMA

    DAS 4 MANEIRAS QUE FUNÇÕES PODEM SER INVOCADAS
  12. IIFE (IMMEDIATELY-INVOKED FUNCTION EXPRESSION) ALL IN ONE: ▸ cria uma

    instância de função ▸ executa a função ▸ descarta a função ▸ cria escopo temporário ▸ encapsulamento
  13. IIFE (IMMEDIATELY-INVOKED FUNCTION EXPRESSION) (…)() function doSomething() { … }

    function doSomething() { … }() (function doSomething() { … })() Sintaxe Function Declaration // SyntaxError: Unexpected token ) Function Expression
  14. CLOSURES É O ESCOPO CRIADO QUANDO UMA FUNÇÃO É DECLARADA

    QUE PERMITE À FUNÇÃO ACESSAR E MANIPULAR VARIÁVEIS EXTERNAS A ELA
  15. PROTOTYPES PROTÓTIPOS SÃO COMO MODELOS DE OBJETOS E NÃO POSSUEM

    UTILIDADE ALGUMA SE A FUNÇÃO NÃO FOR INSTANCIADA