Sobes.tech
Junior — Middle

Können Sie den Zweck und die Funktionsweise des Schlüsseloperators infer in TypeScript erklären?

sobes.tech KI

Antwort von AI

Der Operator infer in TypeScript wird innerhalb von bedingten Typen verwendet, um einen Typ aus einem anderen Typ abzuleiten (zu inferieren). Er ermöglicht es, eine Typvariable zu deklarieren, die vom Compiler automatisch abgeleitet wird, wenn die Bedingung des Typs erfüllt ist.

Zum Beispiel, wenn du einen Funktionstyp hast und den Typ ihres Arguments oder Rückgabewerts erhalten möchtest, kannst du infer verwenden, um diese Typen zu extrahieren:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;

// Beispiel:
type Fn = (x: number) => string;
type Result = ReturnType<Fn>; // Result ist string

Hier sagt infer R dem Compiler: "Wenn der Typ T einer Funktion entspricht, extrahiere den Rückgabetyp als R". Dies ist ein mächtiges Werkzeug zur Erstellung generischer und bedingter Typen, die eine flexiblere und dynamischere Arbeit mit Typen ermöglichen.