联合类型、交叉类型与类型守卫在领域建模中应如何配合
简答题中等701 次浏览
参考答案与解析
# 核心结论
联合类型用于表达一个值可能属于多个候选分支之一,交叉类型用于表达一个值必须同时满足多组结构要求,类型守卫则负责在具体控制流路径中证明当前值属于哪个分支。领域状态具有互斥关系时,应优先使用带稳定判别字段的可辨识联合;多个彼此兼容的能力需要组合时才使用交叉类型;外部未知数据进入领域模型前,还必须通过真实的运行时校验建立证据。
type LoadState<T> =
| { status: "idle" }
| { status: "loading" }
| { status: "success"; data: T }
| { status: "error"; message: strin
