0Pricing
TypeScript Academy · Aula

Opções de rigor

Ative o rigor para obter código mais seguro: strict, noImplicitAny, exactOptionalPropertyTypes, noUncheckedIndexedAccess.

Opções de rigor é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 3 aulas no total.

Introdução

Objetivo: ative e compreenda as principais opções de rigor. Essas opções detectam erros mais cedo e melhoram as sugestões do ambiente de desenvolvimento.

  • rigor
  • noImplicitAny
  • exactOptionalPropertyTypes
  • noUncheckedIndexedAccess

rigor + noImplicitAny

rigor ativa um conjunto de verificações; noImplicitAny proíbe parâmetros e variáveis sem tipo que assumiriam any.

// tsconfig.json (excerpt)
{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true
  }
}

// Effect demo
function sum(a, b) { // Error: implicit any
  return a + b;
}

function sumOk(a: number, b: number): number {
  return a + b;
}

exactOptionalPropertyTypes

exactOptionalPropertyTypes distingue entre ausente e presente, mas indefinido — ótimo para modelar APIs.

// exactOptionalPropertyTypes: true
interface User { name?: string }

const u1: User = {};          // ok: name is absent
const u2: User = { name: undefined }; // Error when exactOptionalPropertyTypes is true

function greet(u: User) {
  if ("name" in u) {
    // name exists but could be undefined without this flag
    console.log("Hi", u.name);
  }
}

Acesso indexado (matriz)

Agora, indexar matrizes produz T | undefined. Verifique o valor antes de usá-lo para evitar falhas em tempo de execução.

// noUncheckedIndexedAccess: true
const xs: number[] = [1,2,3];
const maybe = xs[5]; // type: number | undefined
if (maybe !== undefined) {
  console.log(maybe.toFixed(0));
}

Acesso indexado (mapa)

Os resultados da indexação de objetos e de Record<K,V> incluem undefined até que você confirme a presença.

// Also affects records/maps
const byId: Record<string, { id: string }> = {};
const item = byId["x"]; // { id: string } | undefined
if (item) {
  console.log(item.id);
}

Predefinição de rigor

Comece com o rigor ativado e relaxe-o apenas se necessário. Essas opções evitam erros comuns com pouco ruído em código novo.

// tsconfig.json (excerpt)
{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "exactOptionalPropertyTypes": true,
    "noUncheckedIndexedAccess": true
  }
}

Verificação do acesso indexado

Verificação rápida: o que noUncheckedIndexedAccess altera?

Recapitulação

Recapitulação: rigor ativa padrões mais seguros; noImplicitAny encontra tipos ausentes; exactOptionalPropertyTypes modela campos opcionais com precisão; noUncheckedIndexedAccess exige verificações de presença.

Perguntas Frequentes

A aula “Opções de rigor” é grátis?

Sim — o texto completo de “Opções de rigor” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 3 aulas no total.

O que vou aprender em “Opções de rigor”?

Ative o rigor para obter código mais seguro: strict, noImplicitAny, exactOptionalPropertyTypes, noUncheckedIndexedAccess. Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar TypeScript Academy?

Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Opções de rigor”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de TypeScript Academy?

Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Opções de rigor
  2. Configurações de target, lib, module e JSX
  3. Referências de projetos (introdução)
← Voltar para TypeScript Academy