Biblioteca Padrão TypeScript: Visão Completa
TypeScript não é apenas uma extensão do JavaScript que adiciona tipagem estática. Junto com a linguagem, é fornecida uma poderosa biblioteca padrão que expande as capacidades do desenvolvedor. Neste artigo, vamos detalhar os principais componentes da biblioteca padrão do TypeScript, mostrar exemplos de uso e explicar como eles simplificam o desenvolvimento.
1. Tipos de Dados Embutidos
A biblioteca padrão do TypeScript inclui todos os tipos básicos do JavaScript, mas adiciona a eles tipagem estrita e novas abstrações:
number,string,boolean— tipos primitivos;nulleundefined— valores especiais;any— desativação da verificação de tipos;unknown— alternativa segura aoany;never— tipo para funções que nunca terminam;void— ausência de valor de retorno.
// Exemplo de uso de tipos embutidoslet age: number = 25;let name: string = "Ana";let isActive: boolean = true;let data: unknown = { id: 1 };let error: never = (() => { throw new Error("Erro"); })();2. Tipos Utilitários (Utility Types)
TypeScript fornece um conjunto de tipos utilitários embutidos que permitem transformar tipos existentes sem precisar escrever construções complexas:
Partial<T>— torna todos os campos do tipoTopcionais;Required<T>— torna todos os campos obrigatórios;Readonly<T>— proíbe a alteração dos campos;Pick<T, K>— seleciona as chaves especificadas do tipo;Omit<T, K>— exclui as chaves especificadas;Record<K, T>— cria um tipo com chavesKe valoresT.
interface User { id: number; name: string; email: string;}
// Tornando todos os campos opcionaistype PartialUser = Partial<User>;
// Selecionando apenas id e nametype UserPreview = Pick<User, "id" | "name">;
// Criando um dicionáriotype UserMap = Record<string, User>;3. Trabalhando com Coleções: Map, Set, WeakMap, WeakSet
A biblioteca padrão inclui versões tipadas das coleções ES6+. O TypeScript infere automaticamente os tipos ao usar essas estruturas:
Map<K, V>— coleção chave-valor;Set<T>— coleção de valores únicos;WeakMap<K extends object, V>— análogo ao Map com referências "fracas";WeakSet<T extends object>— análogo ao Set para objetos.
// Map tipadoconst userRoles = new Map<number, string>();userRoles.set(1, "admin");userRoles.set(2, "user");
// Set tipadoconst uniqueIds = new Set<number>([1, 2, 3, 3]); // {1, 2, 3}4. Promessas e Assincronicidade
TypeScript suporta totalmente programação assíncrona através de Promise<T> e das palavras-chave async/await. A tipagem de promessas permite especificar exatamente qual tipo de dado será retornado:
async function fetchUser(id: number): Promise<User> { const response = await fetch(`/api/users/${id}`); return response.json(); // Tipo do valor retornado — User}
// UsofetchUser(1).then(user => { console.log(user.name); // name — string});5. Trabalhando com DOM e APIs do Navegador
A biblioteca padrão do TypeScript inclui tipagem completa para a API DOM. Isso permite trabalhar com segurança com elementos, eventos e outros objetos do navegador:
Também na biblioteca
Rector PHP: guia completo com exemplos práticos
Rate Limiting em Java: bibliotecas, algoritmos e implementação
Cliente OAuth para Kotlin: biblioteca Ktor OAuth para autenticação em API
SQLite3: Trabalhando com SQLite em Python de forma integrada
Contêineres de Injeção de Dependência em Rust: visão geral e implementação com o exemplo «dicy»
Recommendations