TypeScript - Asersiones de tipo

mezagini

Daniel Mezagini

Posted on May 26, 2020

TypeScript - Asersiones de tipo

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';
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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

💖 💪 🙅 🚩
mezagini
Daniel Mezagini

Posted on May 26, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related