:后端的接口定义里将一个字段声明数组, 但实际上有的时候返回null, 前端没有对这个case 进行处理, 导致前端页面崩溃.后端接口定义里, 将一个字段声明为required, 但实际上有的时候返回undefined..., 前端没有对中case 进行处理, 页面上直接显示username: undefined.后端说接口开发完了, 前端进行联调, 结果很多字段都与接口定义里不符合, QA 的同事打开页面时, 页面直接崩溃了...union type进行抽象有一个弊端: 我们将难以分辨解析器返回的数据是属于成功分支的A呢, 还是失败分支的E呢?...E : never; 类型看起来有些复杂, 让我们自己看看这个类型的效果:declare const union: Union; declare const p1: Parser而非