0Pricing
TypeScript Academy · Lektion

Partial und Required: Optionalität umschalten

Machen Sie alle Eigenschaften auf einmal optional oder verpflichtend.

Partial und Required: Optionalität umschalten ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des TypeScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Partial macht alle Eigenschaften optional. Required macht alle Eigenschaften erforderlich. Dies sind die am häufigsten verwendeten Utility-Typen für die flexible Verarbeitung von Daten.

Partial<T>

Partial macht jede Eigenschaft von T optional. Das ist nützlich für Aktualisierungs- und Patch-Operationen, bei denen nicht alle Felder vorhanden sind.
interface User { id: number; name: string; email: string; }
type PartialUser = Partial<User>;
// { id?: number; name?: string; email?: string; }

Partial in Aktualisierungsfunktionen

Verwenden Sie Partial beim Implementieren von Aktualisierungs- oder Merge-Funktionen, die nur geänderte Felder akzeptieren.
function updateUser(id: number, changes: Partial<User>): User {
  const existing = findUser(id)!;
  return { ...existing, ...changes };
}

Required<T>

Required entfernt alle Optionalitätsmodifikatoren und macht jede Eigenschaft erforderlich.
type RequiredUser = Required<User>;
// All properties are now required — including those that were optional

Required zur Konfigurationsvalidierung

Verwenden Sie Required nach dem Zusammenführen von Standardwerten, um sicherzustellen, dass alle Konfigurationswerte vorhanden sind.
interface Config { host?: string; port?: number; }
const defaults: Required<Config> = { host: 'localhost', port: 3000 };
function createConfig(opts: Config): Required<Config> {
  return { ...defaults, ...opts };
}

Implementierung von Partial

Partial verwendet einen gemappten Typ mit dem Modifikator +?.
type Partial<T> = { [K in keyof T]?: T[K] };
// Equivalent to: { [K in keyof T]+?: T[K] }

Implementierung von Required

Required verwendet einen gemappten Typ mit dem Modifikator -?.
type Required<T> = { [K in keyof T]-?: T[K] };

Deep Partial

Das integrierte Partial arbeitet nur auf der obersten Ebene. Für verschachtelte Objekte benötigen Sie ein rekursives DeepPartial.
type DeepPartial<T> = {
  [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K]
};

Partial und Required kombinieren

Machen Sie einige Felder erforderlich und behalten Sie andere mithilfe einer Schnittmenge optional.
// id required, everything else optional
type UpsertUser = Required<Pick<User, 'id'>> & Partial<Omit<User, 'id'>>;

Partial vs. optionale Eigenschaften in einem Interface

Wenn Sie alle Eigenschaften eines Interface als optional deklarieren, entspricht das der Anwendung von Partial, gilt aber nur für diesen bestimmten Typ. Partial kann mit jedem Typ wiederverwendet werden.

Typinferenz mit Partial

TypeScript grenzt Partial-Eigenschaften korrekt ein – beim Zugriff darauf kann T[K] | undefined zurückgegeben werden.
function show(u: Partial<User>) {
  if (u.name !== undefined) {
    console.log(u.name.toUpperCase()); // safe
  }
}

Kurzer Test

Welcher Utility-Typ macht ALLE Eigenschaften eines Interface erforderlich, einschließlich der zuvor optionalen?

Zusammenfassung

Partial macht alle Eigenschaften optional (nützlich für Patches und Aktualisierungen). Required macht alle Eigenschaften erforderlich (nützlich für die Validierung nach einem Merge). Beide arbeiten nur auf der obersten Ebene – verwenden Sie für verschachtelte Typen rekursive Varianten.

Häufig gestellte Fragen

Ist die Lektion „Partial und Required: Optionalität umschalten“ kostenlos?

Ja — der vollständige Text von „Partial und Required: Optionalität umschalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des TypeScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der TypeScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Partial und Required: Optionalität umschalten“?

Machen Sie alle Eigenschaften auf einmal optional oder verpflichtend. Du übst TypeScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um TypeScript Academy zu starten?

Keine Vorkenntnisse erforderlich. TypeScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Partial und Required: Optionalität umschalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser TypeScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede TypeScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Partial und Required: Optionalität umschalten
  2. Pick und Omit: Eigenschaften auswählen
  3. Record: Schlüssel auf Werttypen abbilden
  4. Readonly, Exclude, Extract, NonNullable
← Zurück zu TypeScript Academy