Ir para o conteúdo

Módulo 02 – JavaScript Moderno para Mobile

Objetivos

  • Revisar sintaxe moderna ESNext relevante para RN
  • Entender módulos, import/export e padrões de organização
  • Praticar async/await e manipulação de erros

Conteúdo

  • let/const vs var
  • Desestruturação, rest/spread
  • Arrow functions e this
  • Módulos ES: import/export
  • Async/Await, try/catch, Promise.all

Exemplo

export async function fetchJson(url) {
  const res = await fetch(url);
  if (!res.ok) throw new Error('Falha ' + res.status);
  return res.json();
}

Challenge

{
  "id": "sum-basic",
  "title": "Soma básica",
  "instructions": "Implemente a função sum(a, b) retornando a soma numérica.",
  "function": "sum",
  "tests": [
    {"code": "sum(1,2) === 3"},
    {"code": "sum(-1,1) === 0"},
    {"code": "sum(0,0) === 0"}
  ]
}

Quiz

{
  "id": "quiz-js-1",
  "question": "Qual palavra-chave evita reatribuição de referência?",
  "options": {"a": "const", "b": "let", "c": "var"},
  "answer": "a",
  "explanation": "const impede reatribuição da variável (mas objeto interno pode mudar)."
}
{
  "id": "quiz-js-2",
  "question": "Quais desses são recursos de ESNext? (multi)",
  "options": {"a": "Optional chaining", "b": "Goto label", "c": "Nullish coalescing"},
  "answer": ["a","c"],
  "explanation": "Optional chaining (?.) e nullish coalescing (??) são do ecossistema moderno; 'goto' não existe."
}

Conclusão

Avance quando souber aplicar imports/exports e async/await sem consultar.