0Pricing
TypeScript Academy · Lección

Tipos intersección: A y B

Combine tipos con & para fusionar sus propiedades.

Tipos intersección: A y B es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 2 de 4. 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 4 lecciones en total.

Bienvenido

Los tipos intersección combinan varios tipos en uno solo. Un valor de un tipo intersección debe cumplir TODOS los tipos combinados simultáneamente.

Sintaxis básica de las intersecciones

Use el operador `&` para crear una intersección. El resultado tiene todas las propiedades de ambos tipos.
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };

Todas las propiedades son obligatorias

Una intersección requiere TODAS las propiedades de todos los tipos combinados. La ausencia de cualquier propiedad provoca un error de tipo.
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing y

Combinación de tipos de objeto

Las intersecciones se utilizan a menudo para combinar dos tipos de objeto que no extienden uno del otro.
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;

Intersección frente a extends

La extensión de interfaces y las intersecciones producen resultados similares para los tipos de objeto, pero las intersecciones funcionan con alias de tipo, incluidas las uniones y los tipos primitivos.
// Interface extend:
interface C extends A, B {}

// Intersection type:
type D = A & B;
// Both give the same shape for simple objects

Intersección con tipos en conflicto

Si dos tipos intersectados tienen la misma propiedad con tipos en conflicto, el resultado es `never` para esa propiedad.
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!

Intersección en parámetros de funciones

Acepte un argumento que deba cumplir varios contratos de interfaz mediante una intersección.
function process(item: Serializable & Loggable): void {
  item.log();
  console.log(item.serialize());
}

Patrón mixin con intersecciones

Las intersecciones permiten implementar el patrón mixin: combinar comportamientos de varias fuentes.
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;

Las intersecciones de tipos primitivos se reducen a never

La intersección de tipos primitivos que no pueden solaparse se reduce a `never`.
type T = string & number; // never — a value can't be both

Intersección frente a unión: la diferencia fundamental

La unión (`|`) significa O: el valor puede ser cualquiera de los tipos. La intersección (`&`) significa Y: el valor debe cumplir todos los tipos.

Uso de intersecciones con genéricos

Combine un tipo genérico con propiedades adicionales mediante una intersección para crear tipos flexibles y extensibles.
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };

Comprobación rápida

¿En qué se evalúa `type T = string & number`?

Resumen

Los tipos intersección (`&`) requieren TODAS las propiedades de todos los tipos combinados. Úselos para combinar estructuras de objetos, implementar mixins y combinar tipos genéricos. Las intersecciones de tipos primitivos en conflicto se reducen a never.

Preguntas frecuentes

¿La lección «Tipos intersección: A y B» es gratis?

Sí — el texto completo de «Tipos intersección: A y B» 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 4 lecciones en total.

¿Qué aprenderé en «Tipos intersección: A y B»?

Combine tipos con & para fusionar sus propiedades. 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 2 de 4.

¿Cuánto tiempo toma la lección «Tipos intersección: A y B»?

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. Tipos unión: A o B
  2. Tipos intersección: A y B
  3. Uniones discriminadas para coincidencias seguras de patrones
  4. Patrones prácticos con uniones e intersecciones
← Volver a TypeScript Academy