title: 如何评价TypeScript最新加入的Discriminateduniontype？
desc: Anders Hejlsberg 在北京时间 2016 年 6 月 15 日凌晨一点提交了这个 PR：
topic: 微软（Microsoft）
content: 谢邀。其实大多数的Discriminated Union底层实现都是加入tag的，所以又被称作Tagged Union。之所以在很多地方比如F， ML看不到， 是因为compiler会自动生成tag然后隐藏起来，你不用自己创立tag。首先说一般的Union Type吧，TypeScript的实现和F的实现是不太一样的。在F创立一个Union Type，比如 type Shape Rectangle of intint Circle of int之后，会有 1. 两个不同的constructor，一个接受int， int tuple类型的参数
answerer_tags: Unknown artist.