0Pricing
TypeScript Academy · Lección

Tipos condicionales

Explore cómo los tipos condicionales permiten crear tipos que se ajustan dinámicamente según determinadas condiciones, lo que facilita definiciones de tipos flexibles y reutilizables

Tipos condicionales es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 3 lecciones en total.

Introducción a los tipos condicionales

Introducción a los tipos condicionales

Los tipos condicionales de TypeScript permiten crear tipos que se adaptan dinámicamente según una condición, lo que hace que el código sea más flexible y reutilizable.

Utilizan una sintaxis similar a la del operador condicional (ternary) de JavaScript.

Tipos condicionales — ilustración 1

¿Qué son los tipos condicionales?

¿Qué son los tipos condicionales?

Los tipos condicionales permiten definir un tipo que depende de otro tipo. La sintaxis básica es:

T extends U ? X : Y

Esto significa que, si T extiende a U, el tipo es X; de lo contrario, es Y.

Ejemplo básico de tipos condicionales

Ejemplo básico de tipos condicionales

A continuación se muestra un ejemplo sencillo:

type IsString<T> = T extends string ? 'Yes' : 'No';

// Test cases
type A = IsString<string>; // 'Yes'
type B = IsString<number>; // 'No'

Uso de tipos condicionales para sobrecargas de funciones

Uso de tipos condicionales para sobrecargas de funciones

Los tipos condicionales pueden simplificar las sobrecargas de funciones al determinar dinámicamente los tipos de retorno:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;

function getData(): string {
  return 'Hello';
}

type DataType = ReturnType<typeof getData>; // string

Tipos condicionales distributivos

Tipos condicionales distributivos

Cuando los tipos condicionales se aplican a tipos unión, se distribuyen entre cada miembro de la unión:

type ToArray<T> = T extends any ? T[] : never;

type A = ToArray<string | number>;
// A = string[] | number[]

Combinación de tipos condicionales y tipos mapeados

Combinación de tipos condicionales y tipos mapeados

Puede combinar tipos condicionales con tipos mapeados para realizar transformaciones de tipos potentes:

type User = {
  id: number;
  name: string;
  isAdmin?: boolean;
};

type MakeRequired<T> = {
  [K in keyof T]-?: T[K] extends undefined ? never : T[K];
};

type RequiredUser = MakeRequired<User>;
// { id: number; name: string; isAdmin: never; }

Casos de uso habituales de los tipos condicionales

Casos de uso habituales de los tipos condicionales

Los tipos condicionales se utilizan habitualmente para:

  • Inferir tipos de retorno o parámetros.
  • Transformar uniones e intersecciones.
  • Crear tipos de utilidad como Exclude, Extract y NonNullable.

Tarea práctica

Tarea práctica

Cree un tipo condicional que compruebe si un tipo es un array y, en ese caso, devuelva su tipo de elemento; de lo contrario, debe devolver el tipo original.

¡Enhorabuena!

¡Enhorabuena!

Ha aprendido a utilizar tipos condicionales para crear definiciones de tipos dinámicas y reutilizables en TypeScript. Practique estos conceptos para escribir código TypeScript más potente y flexible.

Tipos condicionales — ilustración 10

Preguntas frecuentes

¿La lección «Tipos condicionales» es gratis?

Sí — el texto completo de «Tipos condicionales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Tipos condicionales»?

Explore cómo los tipos condicionales permiten crear tipos que se ajustan dinámicamente según determinadas condiciones, lo que facilita definiciones de tipos flexibles y reutilizables Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.

¿Cuánto tiempo toma la lección «Tipos condicionales»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Acotación avanzada de tipos
  2. Características avanzadas de las clases
  3. Tipos condicionales
← Volver a TypeScript Academy