Ich versuche, einen Weg zu finden, ein Objekt zu übergeben, um in einer Laufzeit zu funktionieren und es zu überprüfen. Dies ist ein Pseudo-Code:Wie überprüft man den Objekttyp zur Laufzeit in TypeScript?
func(obj:any){
if(typeof obj === "A"){
// do something
}
else if(typeof obj === "B"{
//do something else
}
}
a:A;
b:B;
func(a);
Aber typeof wird immer wieder zurückkehren „Objekt“ und ich konnte nicht einen Weg finden, die wirkliche Art von „a“ oder „b“ zu erhalten. Das instanceof funktioniert auch nicht und gibt dasselbe zurück. Irgendeine Idee, wie man es in einem TypeScript macht?
Vielen Dank für Ihre Hilfe !!!
vielen dank, es ist jetzt klar! – Eden1971
überprüfen Sie diese: https://alicolicode.com/2016/04/23/type-checking-typescript/ Bitte seien Sie Ufer, Sie sehen diese Linie auch: console.log (John instanceof Person); // Wahr ... Prost! – peter70
@ peter70 Das funktioniert nur mit Klasseninstanzen, nicht mit anderen Typen (wie Schnittstellen). OP genannt 'instanceof' funktionierte nicht, also nehme ich an, dass er ein Nicht-Klasseninstanzobjekt hat. – Aaron