DEV Community

Daniel Mezagini
Daniel Mezagini

Posted on

4 2

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

Top comments (0)

Postgres on Neon - Get the Free Plan

No credit card required. The database you love, on a serverless platform designed to help you build faster.

Get Postgres on Neon

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay