:后端的接口定义里将一个字段声明数组, 但实际上有的时候返回null, 前端没有对这个case 进行处理, 导致前端页面崩溃.后端接口定义里, 将一个字段声明为required, 但实际上有的时候返回undefined...union type进行抽象有一个弊端: 我们将难以分辨解析器返回的数据是属于成功分支的A呢, 还是失败分支的E呢?...= number[];当然, 还有最重要的object type:interface Point{ x: number; y: number;}此外, TypeScript 还实现了类型理论中的union..., number>; declare const p2: Parser; const p3 = union([p1, p2]);p3的类型被TypeScript...;从类型推断实现是函数式编程的经典做法, 我们不妨根据上述类型推断下fromArray的实现.fromArray的返回值是Parser, 与此同时我们有参数