Biblioteca estándar de TypeScript: guía completa
TypeScript no es solo una extensión de JavaScript que añade tipificación estática. Junto con el lenguaje se incluye una potente biblioteca estándar que amplía las capacidades del desarrollador. En este artículo, analizaremos en detalle los componentes clave de la biblioteca estándar de TypeScript, mostraremos ejemplos de uso y explicaremos cómo simplifican el desarrollo.
1. Tipos de datos incorporados
La biblioteca estándar de TypeScript incluye todos los tipos básicos de JavaScript, pero añade tipificación estricta y nuevas abstracciones:
number,string,boolean— tipos primitivos;nullyundefined— valores especiales;any— desactivación de la verificación de tipos;unknown— alternativa segura aany;never— tipo para funciones que nunca terminan;void— ausencia de valor de retorno.
// Ejemplo de uso de tipos incorporadoslet age: number = 25;let name: string = "Ana";let isActive: boolean = true;let data: unknown = { id: 1 };let error: never = (() => { throw new Error("Error"); })();2. Tipos utilitarios (Utility Types)
TypeScript proporciona un conjunto de tipos utilitarios incorporados que permiten transformar tipos existentes sin necesidad de escribir construcciones complejas:
Partial<T>— hace que todos los campos del tipoTsean opcionales;Required<T>— hace que todos los campos sean obligatorios;Readonly<T>— prohíbe la modificación de campos;Pick<T, K>— selecciona las claves indicadas del tipo;Omit<T, K>— excluye las claves indicadas;Record<K, T>— crea un tipo con clavesKy valoresT.
interface User { id: number; name: string; email: string;}
// Hacemos todos los campos opcionalestype PartialUser = Partial<User>;
// Seleccionamos solo id y nametype UserPreview = Pick<User, "id" | "name">;
// Creamos un diccionariotype UserMap = Record<string, User>;3. Trabajo con colecciones: Map, Set, WeakMap, WeakSet
La biblioteca estándar incluye versiones tipificadas de las colecciones de ES6+. TypeScript infiere automáticamente los tipos al usar estas estructuras:
Map<K, V>— colección clave-valor;Set<T>— colección de valores únicos;WeakMap<K extends object, V>— análogo de Map con referencias "débiles";WeakSet<T extends object>— análogo de Set para objetos.
// Map tipificadoconst userRoles = new Map<number, string>();userRoles.set(1, "admin");userRoles.set(2, "user");
// Set tipificadoconst uniqueIds = new Set<number>([1, 2, 3, 3]); // {1, 2, 3}4. Promesas y asincronía
TypeScript es totalmente compatible con la programación asíncrona a través de Promise<T> y las palabras clave async/await. La tipificación de promesas permite indicar con precisión qué tipo de datos se devolverá:
async function fetchUser(id: number): Promise<User> { const response = await fetch(`/api/users/${id}`); return response.json(); // Tipo del valor devuelto — User}
// UsofetchUser(1).then(user => { console.log(user.name); // name — cadena});5. Trabajo con DOM y APIs del navegador
La biblioteca estándar de TypeScript incluye tipificación completa para la API del DOM. Esto permite trabajar de forma segura con elementos, eventos y otros objetos del navegador:
También en la biblioteca
Event Bus y el patrón Observer en Java: guía con ejemplos
Programación reactiva en TypeScript: biblioteca RxJS
Trabajo con S3 y almacenamiento en la nube en Swift (iOS/macOS): librería AWSS3
ImageSharp para C# (.NET): guía completa con ejemplos prácticos
Jakarta Mail (JavaMail) para Java: guía completa con ejemplos
Recommendations