TypeScript - Asersiones de tipo
Daniel Mezagini
Posted on May 26, 2020
Tipo: Aserciones de Tipo
Cuando el dev conoce más que el compilador de TS es necesario un mecanismo que permita hacer una conversión de tipos de datos. En tal caso le estamos diciendo al compilador "confía en mi, sé lo que estoy haciendo".
Usa dos sintaxis:
<Angle Bracket>
: dentro debemos definir un tipo
(variable as tipo)
Se parece al casting de otros lenguajes de programación de alto nivel. Pero este no tiene ningún impacto a nivel de ejecución.
Caso práctico:
Tenemos una variable de tipo any a la que le asignamos un texto.
let username: any;
username = 'anbreaker';
Creamos otra variable con tipo string, a la que le asignamos el texto que contiene username
. Pero para poder asignarlo debe cumplir una condición; que el texto sea mayor a 5 caracteres. ¿Cómo lo sacaremos?
Debido a que username
es de tipo any
no podemos usar la función .length
. Así que debemos decirle a TS que trate la variable como si tuviera el tipo string
. Esto se llama hacer una "Aserción de tipos"
let message: string =
(<string>username).length > 5 ? `Welcome ${username}` : `username is too short`;
console.log('Message ->', message);
La otra manera que pudo hacerse la aserción fue:
(username as string).length
Si utilizas Typescript con ReactJS asegurate de usar el tipo de asersión con as
. Esto porque hay conflicto con JSX al usar la forma <tipo>variable
Estas notas fueron tomadas al realizar el curso de Platzi - Curso de Fundamentos de TypeScript
Posted on May 26, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.