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.