Die TypeScript-Standardbibliothek: Ein vollständiger Überblick

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Die TypeScript-Standardbibliothek: Ein vollständiger Überblick



TypeScript ist eine streng typisierte Obermenge von JavaScript, die in normales JS kompiliert wird. Seine Stärke liegt jedoch nicht nur im Typsystem. Die integrierte TypeScript-Standardbibliothek bietet leistungsstarke Werkzeuge für die Arbeit mit Typen, Hilfsprogrammen und Metaprogrammierung. In diesem Artikel werden wir die wichtigsten Komponenten der TypeScript-Standardbibliothek analysieren, Beispiele für ihre Verwendung zeigen und praktische Ratschläge geben.



Was ist die TypeScript-Standardbibliothek?

Die TypeScript-Standardbibliothek ist eine Sammlung von integrierten Typen, Schnittstellen und Hilfsprogrammen, die zusammen mit dem Compiler ausgeliefert werden. Sie umfasst:

  • Basistypen (string, number, boolean, any, unknown, never, void).
  • Hilfstypen (Partial, Required, Pick, Omit, Record und andere).
  • Dekorateure (experimentelles Feature für Metaprogrammierung).
  • Namespaces (namespace) und Module.
  • Erweiterte Typen (Promise, Map, Set, WeakMap, WeakSet).
  • Typen für die Arbeit mit dem DOM (werden über lib: ["dom"] eingebunden).


Hilfstypen: Das Herz der Bibliothek

Hilfstypen ermöglichen es, vorhandene Typen ohne Code-Duplizierung zu transformieren. Betrachten wir die beliebtesten:



Partial und Required

interface User {  id: number;  name: string;  email: string;}

// Alle Felder werden optionaltype PartialUser = Partial<User>;

// Alle Felder werden erforderlich (falls sie optional waren)type RequiredUser = Required<PartialUser>;


Pick und Omit

interface Product {  id: number;  title: string;  price: number;  description: string;}

// Nur die benötigten Felder auswählentype ProductPreview = Pick<Product, 'id' | 'title'>;

// Unnötige Felder ausschließentype ProductWithoutDesc = Omit<Product, 'description'>;


Record und Readonly

// Erstellt ein Objekt mit bestimmten Schlüsseln und Wertentype UserRoles = Record<'admin' | 'user' | 'guest', string>;

// Macht alle Felder schreibgeschützttype ReadonlyUser = Readonly<User>;


Arbeiten mit Promise und Asynchronität

TypeScript bietet integrierte Typen für die Arbeit mit asynchronem Code:

async function fetchData(): Promise<string> {  return "Daten geladen";}

// Typ für das Ergebnis von Promisetype DataType = Awaited<ReturnType<typeof fetchData>>; // string


Dekorateure: Metaprogrammierung in TypeScript

Dekorateure sind spezielle Deklarationen, die es ermöglichen, Klassen, Methoden, Eigenschaften und Parameter zu annotieren und zu modifizieren. Sie werden häufig in Frameworks (Angular, NestJS) verwendet.



Beispiel für einen Klassen-Dekorateur

function sealed(constructor: Function) {  Object.seal(constructor);  Object.seal(constructor.prototype);}

@sealedclass Calculator { add(a: number, b: number): number { return a + b; }}


Beispiel für einen Methoden-Dekorateur

function log(target: any, key: string, descriptor: PropertyDescriptor) {  const original = descriptor.value;  descriptor.value = function (...args: any[]) {    console.log(`Methode ${key} mit Argumenten aufgerufen: ${args}`);    return original.apply(this, args);  };  return descriptor;}

class UserService { @log getUser(id: number): string { return `Benutzer ${id}`; }}


Namespaces

Namespaces helfen, Code zu organisieren und

Empfehlungen