💻 前端开发
2026年4月27日1 分钟阅读551那些我真正用上的 TypeScript 类型技巧
不讲花活,只列日常项目里真正高频使用的 TypeScript 类型技巧。
类型体操看了一百篇,实际工作里天天用的就那几个。这篇不讲花活,只列我项目里真实出现过的类型技巧。
Partial + Pick 组合做更新入参
数据库实体的更新接口几乎都能用到这一对:
type UpdateArticleInput = Partial<Pick<Article, 'title' | 'summary' | 'content'>>
比手写一串可选字段省事,而且实体加了新字段时不用同步改。
用 never 兜住漏处理的情况
switch 分支漏了一个 case,编译期就想知道:
function statusText(status: ArticleStatus): string { switch (status) { case 'DRAFT': return '草稿' case 'PUBLISHED': return '已发布' case 'ARCHIVED': return '已归档' default: const _exhaustive: never = status return _exhaustive } }
以后给 ArticleStatus 加新枚举值时,这里会直接编译报错,比运行时才发现强太多。
模板字面量类型:事件名的自动补全
type Handler = { [K in `on${Capitalize<string>}`]: (event: string) => void } // 写 onCreate、onDelete 时编辑器直接给提示
最后
类型系统是给重构上的保险。写的时候多花五分钟,三个月后改需求的时候省五小时。
分享这篇文章
评论