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

Javascript em 2018: tudo o que você precisa saber | Javascript in 2018: all that you must know

Javascript em 2018: tudo o que você precisa saber | Javascript in 2018: all that you must know

- IV Semana de Atualização Tecnológica na FATEC Sorocaba (02/07/2018): workshop de 3 dias

Juliana Negreiros

July 02, 2018
Tweet

More Decks by Juliana Negreiros

Other Decks in Technology

Transcript

  1. 1º dia ➔ O que é Javascript? ➔ O que

    é ES6 (ou EcmaScript6 ou ES2015)? ➔ Valores, seus tipos e operações ➔ Estrutura básica ➔ Funções ➔ Adquirir chave para usar api da Marvel <3 ➔ Conhecendo o codesandbox <3
  2. 2º dia ➔ Estrutura de dados: Objetos e Arrays ➔

    Manipulando o DOM ➔ Módulos ➔ Criando o formulário do nosso app ➔ Requisições HTTP ➔ Programação Assíncrona (WTF?)
  3. 3º dia ➔ Rest API ➔ Muito mais que só

    console! ➔ Orientação a objetos ➔ Finalizando o app ➔ Um pouco sobre frameworks e o mundo fora do sandbox ➔ Onde estudar?
  4. ➔ Comparação 3 > 5 true == 1 true ===

    1 NaN == NaN ➔ Lógicos true && true false || true Operadores Binários valores
  5. ➔ Concatenação de valores 'algo' + (1+2) `algo${1+2}` ➔ Escapar

    caractere 'Linha aqui /n Linha aqui' `Quebra de linha: /n` 'Quebra de linha: \\n\.' ➔ Operador Trinário ou Condicional true ? 1 : 2 valores
  6. 8 * null "5" - 1 "5" + 1 "five"

    * 2 false == 0 null == undefined null == 0 Conversão automática do tipo valores
  7. null || 'nome' 'Ju' || 'nome' null && 'nome' 'Ju'

    && 'nome' ➔ Contam como false: 0, NaN, string vazia e null ➔ Só farão as operações necessárias Sobre operações lógicas valores
  8. let nome = 'Juliana'; const atividade = 'comer'; var numero

    = 5; ➔ Quais as principais diferenças? ➔ Como nomear uma variável? Atribuindo valor estrutura básica
  9. let numero = Number(prompt("Escolha um número")); if (!Number.isNaN(numero)) { console.log(`Seu

    numero e ${numero}`); } else { console.log(‘Você não digitou um numero :(’); } Fluxo condicional estrutura básica
  10. let result = 1; let counter = 0; while (counter

    < 10) { result = result * 2; counter = counter + 1; } console.log(result); While Loop estrutura básica
  11. let yourName; do { yourName = prompt("Who are you?"); }

    while (!yourName); console.log(yourName); Do… While Loop estrutura básica
  12. let result = 1; for (let counter = 0; counter

    < 10; counter = counter + 1) { result = result * 2; } console.log(result); For Loop estrutura básica
  13. estrutura básica ➔ Podemos sair do loop antes do seu

    término for (let current = 20; ; current = current + 1) { if (current % 7 == 0) { console.log(current); break; } } ➔ Shortcuts para soma da mesma variável counter += 1; counter ++;
  14. switch (prompt('Qual o clima da noite hoje?')) { case 'ensolarado':

    console.log('Vista algo leve'); break; case 'nublado': console.log('Que tal um filme?'); break; default: console.log('Não sou senhor do tempo, mas eu sei que vai chover.'); break; } Switch estrutura básica
  15. ➔ function soma(x){ return x + x; } ➔ const

    soma = function(x) { return x + x; }; ➔ const soma = x => x + x; Definindo uma função Funções
  16. const salarios = function(dias) { const salario = (salarioHora, horas,

    name) => { let total = salarioHora * horas * dias; console.log(`Pagar ${total} para ${name}`); }; console.log(total); salario(15, 8, ‘ju’); salario(500, 2, ‘wolverine’); salario(18, 6, ‘lauren’); }; Escopo Funções
  17. const galinha = () => ovo(); const ovo = ()

    => galinha(); console.log(`${galinha()} veio primeiro`); Como as funções são chamadas? Funções
  18. const power = (base, exponent = 2) => { let

    result = 1; for (let count = 0; count < exponent; count++) { result *= base; } return result; } Argumentos Funções
  19. const multiplier = (factor) => number => number * factor;

    let twice = multiplier(2); twice(5); Closure Funções
  20. let lista = [2, 3, 5, 7, 11]; console.log(lista); console.log(lista[0]);

    console.log(lista[2-1]); Arrays estrutura de dados
  21. let cadastro = { nome: 'Hulk', cor: 'verde', tamanho: 'grande',

    'gosto muito': false, }; console.log(cadastro); console.log(cadastro.ativo); Objetos estrutura de dados
  22. let cadastro = [ { nome: 'Hulk', cor: 'verde', tamanho:

    'grande', 'gosto muito': true, }, { nome: 'Homem de ferro', cor: 'vermelho', tamanho: 'médio', 'gosto muito': false, }, ]; Array de Objetos - agora sim! estrutura de dados
  23. let obj1 = { value: 10 }; let obj2 =

    obj1; let obj3 = { value: 10 }; Mutabilidade estrutura de dados
  24. const teste = [4, 5, 6, 7]; for (let i

    = 0; i < teste.length; i++) { console.log(teste[i]); } Array Loops estrutura de dados
  25. let total = 0, count = 1; while (count <=

    10) { total += count; count += 1; } console.log(total); Abstração console.log(sum(range(1, 10))); HIGH-ORDER FUNCTIONS
  26. for (let i = 0; i < 10; i++) {

    console.log(i); } Abstração HIGH-ORDER FUNCTIONS
  27. function repeatLog(n) { for (let i = 0; i <

    n; i++) { console.log(i); } } repeatLog(3); Abstração HIGH-ORDER FUNCTIONS
  28. function repeat(n, action) { for (let i = 0; i

    < n; i++) { action(i); } } repeat(3, console.log); Abstração HIGH-ORDER FUNCTIONS