Bibliothèque standard TypeScript : aperçu complet
TypeScript n'est pas simplement une surcouche de JavaScript ajoutant un typage statique. Le langage est accompagné d'une puissante bibliothèque standard qui étend les possibilités du développeur. Dans cet article, nous allons détailler les composants clés de la bibliothèque standard TypeScript, montrer des exemples d'utilisation et expliquer comment ils simplifient le développement.
1. Types de données intégrés
La bibliothèque standard TypeScript inclut tous les types de base de JavaScript, mais y ajoute un typage strict et de nouvelles abstractions :
number,string,boolean— types primitifs ;nulletundefined— valeurs spéciales ;any— désactivation de la vérification des types ;unknown— alternative sécurisée àany;never— type pour les fonctions qui ne se terminent jamais ;void— absence de valeur de retour.
// Exemple d'utilisation des types intégréslet age: number = 25;let name: string = "Anna";let isActive: boolean = true;let data: unknown = { id: 1 };let error: never = (() => { throw new Error("Erreur"); })();2. Types utilitaires (Utility Types)
TypeScript fournit un ensemble de types utilitaires intégrés qui permettent de transformer des types existants sans avoir à écrire des constructions complexes :
Partial<T>— rend tous les champs du typeTfacultatifs ;Required<T>— rend tous les champs obligatoires ;Readonly<T>— interdit la modification des champs ;Pick<T, K>— sélectionne les clés spécifiées du type ;Omit<T, K>— exclut les clés spécifiées ;Record<K, T>— crée un type avec les clésKet les valeursT.
interface User { id: number; name: string; email: string;}
// Rend tous les champs facultatifstype PartialUser = Partial<User>;
// Sélectionne uniquement id et nametype UserPreview = Pick<User, "id" | "name">;
// Crée un dictionnairetype UserMap = Record<string, User>;3. Travail avec les collections : Map, Set, WeakMap, WeakSet
La bibliothèque standard inclut des versions typées des collections ES6+. TypeScript déduit automatiquement les types lors de l'utilisation de ces structures :
Map<K, V>— collection clé-valeur ;Set<T>— collection de valeurs uniques ;WeakMap<K extends object, V>— équivalent de Map avec des références "faibles" ;WeakSet<T extends object>— équivalent de Set pour les objets.
// Map typéconst userRoles = new Map<number, string>();userRoles.set(1, "admin");userRoles.set(2, "user");
// Set typéconst uniqueIds = new Set<number>([1, 2, 3, 3]); // {1, 2, 3}4. Promesses et asynchronisme
TypeScript prend entièrement en charge la programmation asynchrone via Promise<T> et les mots-clés async/await. Le typage des promesses permet de spécifier précisément le type de données qui sera retourné :
async function fetchUser(id: number): Promise<User> { const response = await fetch(`/api/users/${id}`); return response.json(); // Type de la valeur de retour — User}
// UtilisationfetchUser(1).then(user => { console.log(user.name); // name — chaîne de caractères});5. Travail avec le DOM et les API navigateur
La bibliothèque standard TypeScript inclut un typage complet pour l'API DOM. Cela permet de travailler en toute sécurité avec les éléments, les événements et d'autres objets navigateur :
Aussi dans la bibliothèque
Cryptographie en Rust avec la bibliothèque RustCrypto
Envoi d'email en Rust : bibliothèques lettre et mailparse pour travailler avec le courrier
ORM pour TypeScript : Comparaison de Prisma, TypeORM et MikroORM
Travailler avec les archives ZIP en PHP : guide complet sur ZipArchive
ORM pour C++ : comparaison et exemples d'utilisation des bibliothèques
Recommendations