Sobes.tech
Middle+

/* Schreiben Sie den Typ MyRequired — macht alle optionalen Felder erforderlich */ type User = { id?: number name?: string } type MyRequired<T> = { } const user1: MyRequired<User> = { id: 1, name: "John" } const user2: MyRequired<User> = { id: 1 }

sobes.tech KI

Antwort von AI

Der Typ MyRequired<T> kann in TypeScript mithilfe von mapped types implementiert werden, indem der Modifikator ? bei allen Eigenschaften von T entfernt wird. Dies geschieht mit dem Operator -? vor dem Schlüssel der Eigenschaft:

// Entfernt die Optionalität bei allen Eigenschaften

type MyRequired<T> = {
  [P in keyof T]-?: T[P]
}

// Beispiel für die Verwendung

type User = {
  id?: number
  name?: string
}

const user1: MyRequired<User> = { id: 1, name: "John" } // korrekt
const user2: MyRequired<User> = { id: 1 } // Fehler, das erforderliche Feld name fehlt