技术文章·
TypeScript 类型体操入门
记录几个日常开发中真正用得上的类型技巧。
条件类型
条件类型让你可以在类型层面做判断:
type IsString<T> = T extends string ? true : false;
type A = IsString<'hello'>; // true
type B = IsString<42>; // false
映射类型
把一个对象类型的所有键做变换:
type Readonly<T> = {
readonly [K in keyof T]: T[K];
};
模板字面量类型
字符串层面的类型操作,适合做 API 路径或事件名:
type EventName = `on${Capitalize<string>}`;
实战建议
类型体操不是越复杂越好。能简单就别炫技,可读性比聪明更重要。
- 优先用工具类型组合
- 复杂的类型加注释
- 给团队留 docs