Type Aliases y Union Types
Un type alias le da un nombre a cualquier tipo, para que puedas reutilizarlo en vez de repetir la misma forma en todas partes. Es funcionalmente similar a interface para describir objetos, pero type también puede nombrar cosas que interface no puede, como los unions.
type Point2D = { x: number; y: number };
let home: Point2D = { x: 0, y: 0 };
console.log(home);{ x: 0, y: 0 }Union types — un valor que puede ser de varios tipos
Un union type, escrito con |, significa que un valor puede ser cualquiera de los tipos listados. Es la forma en que TypeScript expresa "esto genuinamente podría ser cualquiera de estos dos tipos de valor" sin renunciar a la seguridad de tipos.
function formatId(id: string | number): string {
return `ID-${id}`;
}
console.log(formatId(42));
console.log(formatId("A17"));ID-42 ID-A17
Literal types
Un tipo también puede ser un valor literal específico en vez de toda una categoría — un union de literales es cómo TypeScript expresa "una de exactamente estas opciones", parecido a un enum pero más ligero.
type Direction = "up" | "down" | "left" | "right";
function move(direction: Direction): void {
console.log(`Moving ${direction}`);
}
move("up");
move("left");Moving up Moving left
Siguiente: funciones — parámetros tipados, tipos de retorno, y parámetros opcionales y por defecto.