Menu
CoddyTech

O Tipo 'unknown'

Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 8 de 73.

Como any, uma variável do tipo unknown pode conter qualquer valor:

let userInput: unknown = "Hello";
userInput = 42;        // Sem erro
userInput = true;      // Sem erro

A principal diferença é que o TypeScript não permitirá que você realize operações em um valor unknown sem antes verificar qual é o seu tipo real. Isso evita muitos erros em tempo de execução:

let data: unknown = "TypeScript";
// data.toUpperCase(); // Erro! O TypeScript não sabe que é uma string

// Você deve verificar o tipo primeiro
if (typeof data === "string") {
    console.log(data.toUpperCase()); // Agora é seguro!
}

Isso torna o unknown muito mais seguro do que o any porque força você a verificar o tipo antes de usar métodos ou propriedades específicos do tipo.

challenge icon

Desafio

Fácil

Crie uma variável chamada userInput com o tipo unknown e atribua a ela a string "TypeScript".

Em seguida, escreva um guard de tipo usando typeof para verificar se userInput é uma string. Se for uma string, imprima a versão em maiúsculas da string no console. Se não for uma string, imprima "Not a string" no console.

Isso demonstra como unknown exige uma verificação de tipo antes que você possa usar com segurança métodos específicos do tipo, como toUpperCase().

Experimente você mesmo

// Cria a variável userInput com o tipo unknown
let userInput: unknown = "TypeScript";

// TODO: Escreva seu código aqui
// Use typeof para verificar se userInput é uma string
// Se for uma string, imprima a versão em letras maiúsculas
// Se não for uma string, imprima "Not a string"
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Introdução ao TypeScript

Pratique por conta própria: Playground de TypeScript