Unknown vs Any em TypeScript
Com exemplos
Segurança de tipo
unknown
é a versão segura de any
.
Enquanto any
diz: "isso pode ser qualquer coisa, faça o que quiser."
// Using any
const value: any = 'abc';
value.trim();
TypeScript// Using any
const value: any = 'abc';
value.trim();
unknown
diz: "isso pode ser qualquer coisa, verifique o que é antes de usar!"
// Usando unknown
const value: unknown = 'abc';
value.trim();
TypeScript// Usando unknown
const value: unknown = 'abc';
value.trim();
Isso força o desenvolvedor a usar type guards para estreitar o tipo antes de realizar qualquer operação, assim, garantindo segurança na tipagem.
// Usando unknown
const value: unknown = 'abc';
if (typeof value === 'string') {
value.trim();
}
TypeScript// Usando unknown
const value: unknown = 'abc';
if (typeof value === 'string') {
value.trim();
}
Conclusão
As referências estão abaixo.
Este artigo faz parte da minha série sobre TypeScript Narrowing, onde cobriremos desde os fundamentos até casos de uso avançados. Você pode ler a série completa gratuitamente aqui.
Tenha um ótimo dia e nos vemos em breve!