Typüberprüfung anhand eines Interfaces in TypeScript: Wie bestimmt man, ob ein Objekt einem Interface entspricht?
Hallo zusammen! Ich habe gerade angefangen, TypeScript zu lernen, und bin auf ein Problem gestoßen. Ich habe ein Interface `User` und eine Funktion, die Daten von einer API erhält. Ich muss überprüfen, ob das erhaltene Objekt diesem Interface entspricht.
Hier ist mein Code:
```typescript
interface User {
id: number;
name: string;
email: string;
}
function processData(data: unknown) {
// Wie überprüfe ich, dass data ein User ist?
if (data instanceof User) { // Fehler: 'User' refers only to a type, but is being used as a value here
console.log(data.name);
}
}
```
Ich verstehe, dass `instanceof` mit Interfaces nicht funktioniert, weil sie zur Laufzeit gelöscht werden. Aber wie überprüfe ich dann, dass das Objekt alle erforderlichen Felder mit den richtigen Typen enthält? Ich habe gesehen, dass man benutzerdefinierte Type Guards verwenden kann, aber ich verstehe nicht ganz, wie man sie für komplexe Interfaces richtig schreibt. Gibt es einen Standardansatz oder Best Practices für die Laufzeit-Typüberprüfung?
Hinweis
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen