ANÚNCIO

~/questoes/programacao

O que é type inference em TypeScript?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Questão 1 Não respondida

O que é type inference em TypeScript?

Aula de referência Tutorial para iniciantes: aprenda TypeScript em 16 minutos
Para fixar

Type Inference em TypeScript: Como o compilador deduz tipos automaticamente

Conceito central

Type inference é a capacidade do compilador TypeScript identificar automaticamente qual tipo uma variável possui, apenas observando o valor que você atribui a ela. Isso significa que você não precisa declarar explicitamente o tipo em muitos casos – TypeScript faz isso por você.

Por que essa resposta faz sentido

A inferência de tipos permite que o compilador deduza automaticamente o tipo baseado no valor inicial. Se você escreve `let nome = "João"`, TypeScript automaticamente entende que `nome` é do tipo string, sem você precisar digitar `let nome: string`. Isso torna o código mais limpo e mantém a segurança de tipos.

Armadilhas comuns

  • Confundir type inference com tipagem dinâmica do JavaScript – em TypeScript, o tipo é fixado na inferência, não muda depois
  • Achar que type inference é obrigatório – você ainda pode declarar tipos explicitamente quando quiser ser mais direto ou documentar sua intenção
  • Assumir que TypeScript sempre consegue inferir o tipo – em situações complexas, às vezes você precisa ajudar o compilador com uma declaração explícita

Entenda as alternativas

A

Isso descreve tipagem dinâmica, característica do JavaScript puro. Em TypeScript, uma variável pode ter seu tipo inferido, mas não muda durante a execução – após a inferência inicial, o tipo permanece fixo.

B

Ao contrário, type inference reduz a necessidade de declarações explícitas. Você pode deixar que TypeScript deduza o tipo sozinho em muitos casos, tornando o código menos verboso.

C

Type inference não é conversão manual de tipos. É um processo automático onde o compilador analisa o valor atribuído e determina qual tipo é apropriado para essa variável.

D

Exato. Type inference é exatamente esse processo automático. O compilador examina o valor que você atribui e deduz o tipo correto, economizando digitação e mantendo a segurança de tipos.

Dica prática: Na prática, comece sem declarar tipos e deixe TypeScript inferir. Se o editor mostra um erro em vermelho ou você quer deixar clara sua intenção, aí sim declare o tipo explicitamente com `: tipo`. Exemplo: `let contador = 0;` vs `let contador: number = 0;` – ambas funcionam, mas a primeira é mais simples se a intenção for óbvia.

Revise pensando: Se você escrever `let ativo = true;` em TypeScript, o compilador consegue deduzir sozinho que `ativo` é um boolean? Por quê?