目录
TypeScript 高级类型技巧

TypeScript 高级类型技巧

1 分钟阅读前端

为什么需要高级类型

日常开发中用 interface 和基本类型就够了,但写库或复杂业务时,高级类型能让你的 API 更安全、更灵活。

条件类型

根据条件选择不同类型:

type IsString<T> = T extends string ? 'yes' : 'no';
type A = IsString<string>;  // 'yes'
type B = IsString<number>;  // 'no'

映射类型

遍历对象的 key 生成新类型:

type Readonly<T> = {
  readonly [K in keyof T]: T[K];
};

模板字面量类型

TypeScript 4.1 引入,非常强大:

type EventName<T extends string> = `on${Capitalize<T>}`;
type ClickEvent = EventName<'click'>;  // 'onClick'

总结

高级类型需要时间消化,但掌握后能显著提高代码质量。