不幸的是,从0.9.5开始,TypeScript(还)没有代数数据类型(联合类型)和模式匹配(解构它们)。更重要的是,它甚至不支持接口(interface)上的instanceof。您使用哪种模式来模拟这些具有最大类型安全性和最少样板代码的语言功能? 最佳答案 我采用了以下类似访客的模式,灵感来自this和this(在示例中,Choice可以是Foo或Bar):interfaceChoice{match(cases:ChoiceCases):T;}interfaceChoiceCases{foo(foo:Foo):T;bar(bar