TypeScript
Tutorial TypeScript: Tipos de unión e intersección
TypeScript unión e intersección: tipos y ejemplos. Domina los tipos de unión e intersección en TypeScript con ejemplos prácticos y detallados.
Aprende TypeScript GRATIS y certifícateEn TypeScript, las uniones (union
) y las intersecciones (intersection
) son tipos avanzados que permiten combinar de manera flexible otros tipos de datos.
Uniones
El tipo de unión permite definir una variable que puede ser de varios tipos de datos. Es una manera de decirle al compilador que una variable puede tener más de un tipo. Para definir una unión, se utiliza el símbolo de tubería o pipe |
entre los tipos que se quieren unir.
Un ejemplo básico de una unión sería:
let miVariable: string | number;
miVariable = 'Hola'; // Correcto
miVariable = 10; // Correcto
miVariable = true; // Error: Type 'boolean' is not assignable to type 'string | number'
En el código anterior, miVariable
puede ser tanto un string
como un number
. Sin embargo, si se intenta asignar un boolean
, TypeScript lanzará un error ya que boolean
no está en la unión de tipos que se definió.
Los tipos de unión también pueden usarse con tipos de datos más complejos, como objetos. Por ejemplo:
type Auto = {
marca: string;
modelo: string;
};
type Moto = {
marca: string;
tipo: string;
};
let miVehiculo: Auto | Moto;
miVehiculo = { marca: 'Toyota', modelo: 'Corolla' }; // Correcto
miVehiculo = { marca: 'Yamaha', tipo: 'Deportiva' }; // Correcto
miVehiculo = { marca: 'Ford', color: 'Azul' }; // Error: Property 'color' does not exist in type 'Auto | Moto'
En este caso, miVehiculo
puede ser tanto un Auto
como una Moto
.
Intersecciones
Los tipos de intersección permiten combinar múltiples tipos en uno. Esto puede ser útil para mezclar la funcionalidad de múltiples estructuras de datos. Para definir una intersección, se utiliza el símbolo &
entre los tipos que se quieren intersecar.
Por ejemplo:
type Estudiante = {
nombre: string;
promedio: number;
};
type Trabajador = {
empresa: string;
salario: number;
};
type EstudianteTrabajador = Estudiante & Trabajador;
let juan: EstudianteTrabajador = {
nombre: 'Juan',
promedio: 9.5,
empresa: 'OpenAI',
salario: 3000,
}; // Correcto
let ana: EstudianteTrabajador = {
nombre: 'Ana',
empresa: 'OpenAI',
}; // Error: Type '{ nombre: string; empresa: string; }' is missing the following properties from type 'EstudianteTrabajador': promedio, salario
En el ejemplo anterior, EstudianteTrabajador
es un tipo que combina las propiedades de Estudiante
y Trabajador
. De modo que un objeto de tipo EstudianteTrabajador
debe tener todas las propiedades de ambas clases.
En resumen, las uniones y las intersecciones en TypeScript brindan mayor flexibilidad al trabajar con tipos de datos. Permiten a los desarrolladores crear estructuras de datos más complejas y específicas, mejorando la seguridad y la eficiencia del tipo.
Ejercicios de esta lección Tipos de unión e intersección
Evalúa tus conocimientos de esta lección Tipos de unión e intersección con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Todas las lecciones de TypeScript
Accede a todas las lecciones de TypeScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Typescript
Introducción Y Entorno
Variables Y Constantes
Sintaxis
Operadores
Sintaxis
Control De Flujo
Sintaxis
Funciones
Sintaxis
Funciones Flecha
Sintaxis
Clases Y Objetos
Programación Orientada A Objetos
Interfaces
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Inmutabilidad
Programación Funcional
Funciones Puras
Programación Funcional
Funciones De Primera Clase
Programación Funcional
Funciones De Alto Orden
Programación Funcional
Tipos Literales
Tipos De Datos Avanzados
Tipos Genéricos
Tipos De Datos Avanzados
Tipos De Unión E Intersección
Tipos De Datos Avanzados
Tipos De Utilidad
Tipos De Datos Avanzados
Módulos
Namespaces Y Módulos
Namespaces
Namespaces Y Módulos
Resolución De Módulos
Namespaces Y Módulos
Certificados de superación de TypeScript
Supera todos los ejercicios de programación del curso de TypeScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el concepto de uniones y cómo permiten definir una variable con varios tipos posibles.
- Aprender a utilizar el símbolo
|
para definir una unión entre tipos. - Conocer cómo las uniones son útiles para mejorar la flexibilidad y la eficiencia del tipo en el código.
- Entender cómo las uniones pueden ser aplicadas a tipos de datos complejos, como objetos.
- Aprender a utilizar las intersecciones para combinar múltiples tipos en uno.
- Conocer el símbolo
&
como el operador para definir una intersección entre tipos. - Reconocer cómo las intersecciones son útiles para crear estructuras de datos más específicas y mejorar la seguridad del tipo en el código.