Menu
CoddyTech

El tipo 'unknown'

Parte de la sección Introducción a TypeScript del Journey de JavaScript de Coddy. Lección 8 de 73.

Al igual que any, una variable de tipo unknown puede contener cualquier valor:

let userInput: unknown = "Hello";
userInput = 42;        // Sin error
userInput = true;      // Sin error

La diferencia clave es que TypeScript no te permitirá realizar operaciones sobre un valor unknown sin comprobar primero de qué tipo es en realidad. Esto evita muchos errores en tiempo de ejecución:

let data: unknown = "TypeScript";
// data.toUpperCase(); // ¡Error! TypeScript no sabe que es una cadena

// Debes comprobar el tipo primero
if (typeof data === "string") {
    console.log(data.toUpperCase()); // ¡Ahora es seguro!
}

Esto hace que unknown sea mucho más seguro que any porque te obliga a verificar el tipo antes de usar métodos o propiedades específicos del tipo.

challenge icon

Desafío

Fácil

Crea una variable llamada userInput con el tipo unknown y asígnale la cadena "TypeScript".

Luego escribe un protector de tipo (type guard) usando typeof para comprobar si userInput es una cadena. Si es una cadena, imprime la versión en mayúsculas de la cadena en la consola. Si no es una cadena, imprime "Not a string" en la consola.

Esto demuestra cómo unknown requiere una comprobación de tipo antes de que puedas usar de forma segura métodos específicos de tipo como toUpperCase().

Pruébalo tú mismo

// Crea la variable userInput con tipo unknown
let userInput: unknown = "TypeScript";

// TODO: Escribe tu código aquí
// Usa typeof para verificar si userInput es una cadena
// Si es una cadena, imprime la versión en mayúsculas
// Si no es una cadena, imprime "Not a string"
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Introducción a TypeScript

Practica por tu cuenta: Playground de TypeScript