TypeScript 高级类型技巧
TypeScript 的类型系统非常强大,本文介绍一些高级技巧。
条件类型
条件类型允许我们根据条件选择不同的类型:
type IsString<T> = T extends string ? true : false;
映射类型
映射类型可以基于现有类型创建新类型:
type Readonly<T> = {
readonly [P in keyof T]: T[P];
};
模板字面量类型
TypeScript 4.1 引入的模板字面量类型非常实用。