Se você acabou de chegar no mundão do TypeScript, aqui está um conteúdo essencial, onde diferencia a ideia de 2 tipos primitivos. E também o porquê de que se você sair usando arbitrariamente any você não está realmente usando o TypeScript e deveria fazer apenas fazer em JavaScript...
Vamos pegar um exemplo bem simples e a partir dele debater a ideia.
let fulano: any = "João";
let ciclado: unknown = "Augusto"
Ao tipar a variável "Fulano" com any, nós literalmentes dizemos para o Transpilador/Compilador do Typescript que ela é literalmente: Qualquer coisa.
Por exemplo, para ele, o seguinte código seria totalmente válido.
fulano.funcao();
Todavia, não existe essa função em fulano. Logo, em tempo de execução, isto é: em runtime, nos retornaria um erro (ou seja, ia dar merda).
(ノಠ益ಠ)ノ彡┻━┻
Já com o "Unknown" o negócio é diferente, a gente usa o propósito mor do TypeScript: Type Safety (Segurança de Tipos ante execução).
ciclado.funcao();
Ou seja, o Transpilador/Compilador do Typescript não vai deixar esse código realmente deixar ser executado, porque, o sistemas de tipo não é capaz de garantir que realmente haja essa função dentro de ciclano.
Simples né? ¯_(ツ)_/¯
Vem pro meu twitter & muito mais: https://allmylinks.com/luisvonmuller
Aqui tem mais conteúdo sobre TypeScript em PT-BR: https://luisvonmuller.gitbook.io/typescript-para-brasileiros/
Beijão (っ˘з(˘⌣˘ )
Top comments (6)
Legal.
Dev can't support translation? You can always translate pages in chrome by right clicking on the screen.
nice
Some comments may only be visible to logged-in visitors. Sign in to view all comments.