JSON 转换为对应的编程语言的数据结构时, 需要声明JSON 与编程语言数据结构的对应关系, 然后再进行转换, 这个过程称为encode.TypeScript 中的类型TypeScript 在设计之初便以兼容...JavaScript 为原则, 所以JSON 也可以直接转换为TypeScript 中的类型.比如有以下JSON 数据:{ "gender": 0}该JSON 可以对应到TypeScript 类型:enum..., 这里我们将函数命名为map, 而非then, 这是为了符合函数式编程的Functor定义.Functor 是范畴论的一个术语, 在这里我们可以简单将其理解为"实现了map函数"的interface....[]>作为最终Parser的返回值.这个类型转换具有通用性, 是函数式编程中的一个重要抽象, 在本节中会化一些篇幅对其推导, 最终将改抽象对应到Haskell 的sequenceA函数.为了Either...组合子fromStruct对应的是TypeScript 中的interface类型, 其类型定义如下:type FromStruct = <P extends Record<string, Parser