Chuck's Academy

TypeScript Básico

Tipado Avanzado en TypeScript

TypeScript proporciona una amplia gama de herramientas avanzadas para trabajar con tipos. Entre ellas, encontramos tipos condicionales, tipos mapeados, y otros mecanismos que permiten escribir código más flexible y seguro. En este capítulo, exploraremos cómo usar estas características avanzadas de tipado.

Tipos de Unión e Intersección

Esta imagen muestra una ilustración de diferencias entre unión e intersecciónEsta imagen muestra una ilustración de diferencias entre unión e intersección

Tipos de Unión

Los tipos de unión permiten que una variable pueda tener más de un tipo. Esto es útil cuando una variable puede tomar diferentes formas o valores.

typescript
"En este ejemplo, la variable id puede ser un número o un string. Inicialmente es un número, y luego se convierte en un string."

Tipos de Intersección

Los tipos de intersección combinan múltiples tipos en uno solo. Un objeto que usa un tipo de intersección debe tener todas las propiedades de los tipos combinados.

typescript
"Aquí, creamos un tipo llamado Worker que es una intersección de Person y Employee. La variable worker debe tener tanto una propiedad name como una propiedad employeeId."

Tipos Condicionales

Los tipos condicionales permiten crear tipos que dependen de una condición. La sintaxis básica de un tipo condicional es T extends U ? X : Y.

Ejemplo de Tipos Condicionales

typescript
"Este ejemplo muestra un tipo condicional llamado IsNumber. Si T extiende de number, el tipo resultante es 'Yes', de lo contrario es 'No'."

Tipos Mapeados

Los tipos mapeados permiten transformar un tipo existente en otro, aplicando cambios a cada una de sus propiedades. Esto es útil para crear versiones modificadas de tipos complejos.

Ejemplo de Tipo Mapeado

typescript
"En este ejemplo, creamos un tipo mapeado llamado Optional que convierte todas las propiedades de un tipo dado en opcionales. Aplicamos esto a la interfaz User, creando una nueva versión llamada OptionalUser donde todas las propiedades son opcionales."

Tipos Indexados

Los tipos indexados permiten acceder a los tipos de las propiedades de un objeto. Esto es útil cuando deseas reutilizar un tipo en diferentes lugares.

Ejemplo de Tipo Indexado

typescript
"Aquí accedemos al tipo de la propiedad id en la interfaz User usando el tipo indexado User['id']. Esto nos da el tipo number."

Conclusión

En este capítulo, hemos explorado algunas de las características avanzadas del tipado en TypeScript, incluyendo tipos de unión e intersección, tipos condicionales, mapeados e indexados. Estas herramientas permiten escribir código más sofisticado y seguro, especialmente en proyectos grandes y complejos.


Pregúntame lo que sea