TypeScript · Senior · Frage 6 von 75

Wie setzt man DeepPartial<T> um?

type DeepPartial<T> = T extends object
  ? { [K in keyof T]?: DeepPartial<T[K]> }
  : T;
Antwort zeigen

Richtige Antwort: Mit einem rekursiven Mapped Type, der auf jeder Ebene ? hinzufügt

Erklärung

Type Aliases dürfen auf sich selbst verweisen. Eine echte Umsetzung behandelt Arrays, Funktionen und Date gesondert, damit sie nicht in Eigenschaften „zerlegt“ werden. Tiefe Rekursion hat ein Limit für Instanziierungen, riesige Typen bremsen also den Compiler.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 6

Teste dich selbst

Mach den Test TypeScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen