existiert Ich habe eine Funktion, dieTyposkript überprüfen, ob Eigenschaft
myFunc(arg: (Obj1 | Obj2))
In meiner Funktion 2 verschiedene Arten von Objekten als Argument kann ich möchte so etwas wie:
let val = (arg instance of Obj1) ? Obj1.propOnlyOnObj1 : Obj2.propOnlyOnObj2;
da nur diese Eigenschaften existieren auf eines der OJBECT-Typoskripts löst Fehler aus.
Meine Konsole sagt: Argument des Typs 'TypeOf A' ist nicht Zuweisbar für Parameter des Typs 'A | B '. Typ 'Typ A' kann nicht dem Typ 'B' zugewiesen werden. Die Eigenschaft 'field2' fehlt im Typ 'typeof A'. – dan
Tut mir leid, ich glaube, mein Problem besteht darin, dass ich ein Objekt übergebe, das keine Instanz von classA, sondern von interfaceA ist. Könnte es das sein? – dan
Könnte sein. Versuchen Sie, ein minimales, vollständiges, überprüfbares Beispiel zu teilen. Klassen, Schnittstellen, etc. – Andrew