Unknown type
Clase 5 de 22 • Curso de TypeScript: Tipos Avanzados y Funciones
Resumen
El unknown type nos indica que una variable es de un tipo de dato desconocido. Es similar a any
, pero sin quitar el análisis de código estático que nos brinda TypeScript.
El tipo unknown
nos fuerza a hacer una verificación de tipo. Esta es la forma que TypeScript sugiere trabajar con variables de las cuales no sabemos de qué tipo serán. Así evitamos utilizar constantemente any
.
Unknown type en TypeScript
Usamos el keyword unknown
para declarar una variable de este tipo.
let unknownVar: unknown;
Unknown vs. Any
Con any
podemos hacer lo que queramos, no hay restricción alguna, pero con unknown
vamos a tener advertencias al momento de utilizar alguna función o método con variables de este tipo.
let unknownVar: unknown;
unknownVar.toUpperCase(); // Nos marcará el editor una advertencia
Por ejemplo, no podemos directamente aplicar un método propio de un string
a una variable unknown
. Para ello debemos realizar una verificación de tipo para asegurarnos que se ejecutará dicho método siempre cuando unknownVar
sea del tipo string
en algún punto del programa:
let unknownVar: unknown;
if (unknownVar === 'string') {
unknownVar.toUpperCase(); // Ahora ya no nos marcará como error.
}
Unknown en funciones
También podemos emplear unknown
en funciones si no sabemos exactamente que nos va a devolver.
const parse = (str: string): unknown => {
return JSON.parse(str)
}
Coméntanos: ¿Qué casos consideras conveniente utilizar el tipo de dato any
por sobre unknown
a pesar de sus beneficios? 🤔
Contribución creada por: Martín Álvarez (Platzi Contributor) con los aportes de Irving Juárez, Axel Enrique Galeed Gutierrez y Franco Daniel Carrara.