Avatar ·

So ermitteln Sie den Typ einer Variable in TypeScript: typeof, instanceof und benutzerdefinierte Prüfungen

Hallo zusammen! Ich habe gerade angefangen, TypeScript zu lernen, und bin auf ein Problem gestoßen: Wie finde ich zur Laufzeit heraus, welchen Typ eine Variable hat? In normalem JavaScript habe ich `typeof` verwendet, aber in TS funktioniert das nicht immer so, wie ich es erwarte. Hier ist ein Beispielcode, der mich verwirrt: ```typescript let value: string | number = "hello"; // Versuche, den Typ zu prüfen if (typeof value === "string") { console.log(value.toUpperCase()); // Funktioniert } value = 42; if (typeof value === "number") { console.log(value.toFixed(2)); // Funktioniert } // Bei Objekten wird es schwieriger interface User { name: string; age: number; } interface Admin { name: string; role: string; } function processUser(user: User | Admin) { // Wie prüfe ich hier, ob es User oder Admin ist? if (typeof user === "object") { // Das hilft nicht // Wie bekomme ich den konkreten Typ? } } ``` Ich verstehe, dass TypeScript eine Erweiterung von JS ist und Typen nur während der