m
返回索引
技术 · 2026年5月14日 · 阅读 1 分钟 · 0 次阅读

TypeScript 类型思维:把 bug 关在编译期

类型不是文档,是「机器能读懂的约束」。

标签 #TypeScript #类型系统 #AI
▾ 核心要点 3 条 · 1 分钟阅读
  • 类型不是装饰,是约束
  • Discriminated Union 消灭状态 bug
  • AI 时代,类型更重要

TypeScript 类型思维

类型不是装饰,是约束

// ❌ 用 any 逃避
function process(data: any) { return data.value; }

// ✅ 用类型表达意图
interface ApiResponse<T> {
  data: T;
  error?: { code: string; message: string };
}

第一段代码「能跑」,但你永远不知道它什么时候炸

Discriminated Union 消灭状态 bug

type AsyncState<T> =
  | { status: 'idle' }
  | { status: 'loading' }
  | { status: 'success'; data: T }
  | { status: 'error'; error: Error };

// 现在 switch (state.status) 能让 TS 帮你穷尽

黄金法则

如果你的 type 里需要写 as,十有八九是 type 设计错了。 :::

AI 时代,类型更重要

AI 写代码最大的不确定性是:它不知道你的数据流

但如果你给它:

  • 清晰的类型定义
  • 函数签名(输入输出)
  • 测试用例

它写出的代码准确率能从 60% 跳到 90%。

作者
Qianji Xiao

全栈工程师 / 设计爱好者 / 终身学习者。

Python Claude Code MCP SKILL Agent RAG Workflow
相关文章 同标签推荐