Unglücklicherweise hat TypeScript (bis jetzt) (noch) keine algebraischen Datentypen (Union-Typen) und Mustervergleiche (um sie zu destrukturieren). Außerdem unterstützt es nicht einmal instanceof auf Schnittstellen. Welches Muster verwenden Sie, um diese Sprachmerkmale mit maximaler Typensicherheit und minimalem Standardcode zu emulieren?
Hier ist eine Alternative zu der sehr guten Antwort von @thSoft. Auf der positiven Seite, diese Alternative
{ type : string } & T
, wobei die Form von T
vom Wert von type
, auf der negativen Seite
Es sieht so aus:
%Vor%Tags und Links typescript pattern-matching algebraic-data-types