用途:该技能用于在 TypeScript 中采用函数式编程模式构建可靠系统,通过类型系统编码业务规则,使非法状态在编译期无法构造,从而把错误从运行时提前到构建期。
主要能力:
- 代数数据类型(ADT)与可辨识联合(Sum/Product 类型),配合穷尽性检查的 switch 模式匹配,防止遗漏分支。
- Option 类型:显式表达“值可能缺失”,替代 null/undefined 检查。
- Result 类型:不使用异常的可恢复错误处理,可携带错误上下文并写入函数签名。
- 品牌类型(Branded Types)与智能构造器:区分单位(分与元、毫秒与秒)、强制校验不变量(邮箱格式、正数)、创建类型安全 ID(UserId 与 OrderId)。
- 提供可粘贴复用的 helper 代码,如 Option/Result/assertNever/Brand 等。
使用方式:文中给出状态机、配置解析、金融计算等示例;建议启用 TypeScript 严格模式标志(strictNullChecks、noImplicitReturns、strictFunctionTypes)。在 default 分支使用 assertNever 以获得穷尽性检查。
适用场景:状态机建模(如 pending→settled→reconciled)、互斥变体(支付方式、用户角色)、可恢复错误处理、值对象与领域驱动设计、单位换算易错处。
限制:资料未提供具体安装命令、版本要求、性能数据或收费信息。迁移策略建议从新功能、缺陷修复与高风险区域逐步采用,先小范围再扩展。