unknown vs any: qual a diferença e quando usar cada um em TypeScript?
Olá! Recentemente comecei a estudar TypeScript e me deparei com os tipos `any` e `unknown`. Ambos parecem permitir armazenar qualquer coisa, mas não entendo bem qual a diferença entre eles e quando usar cada um.
Aqui está um exemplo que me confunde. Tenho uma função que recebe dados de uma API e não sei exatamente o que virá:
```typescript
function processData(data: any) {
console.log(data.toUpperCase()); // Funciona, mas se data não for string, quebra em runtime
}
```
Se eu substituir `any` por `unknown`:
```typescript
function processData(data: unknown) {
console.log(data.toUpperCase()); // Erro de compilação: Object is of type 'unknown'
}
```
Então, com `unknown` o código nem compila. Para que serve `unknown` se só atrapalha? Ouvi dizer que `unknown` é mais seguro, mas na prática não vejo vantagens, só problemas extras.
Também não entendo como trabalhar corretamente com `unknown`. Se recebo dados de uma API, ainda assim preciso
No answers yet.
Faça login para deixar uma resposta
Blogs