TypeScript 为 JavaScript 提供了强大的类型系统,让代码更加健壮和可维护。本文分享一些高级技巧。

条件类型

条件类型允许你根据类型关系创建新类型:

typescript
type IsString<T> = T extends string ? true : false;
type A = IsString<string>; // true
type B = IsString<number>; // false

映射类型

映射类型可以基于现有类型创建新类型:

typescript
type Readonly<T> = {
readonly [P in keyof T]: T[P];
};
type Partial<T> = {
[P in keyof T]?: T[P];
};

模板字面量类型

TypeScript 4.1 引入了模板字面量类型:

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

类型推断

利用类型推断减少显式类型注解:

typescript
// 不需要显式返回类型
function createUser(name: string, age: number) {
return { name, age, createdAt: new Date() };
}
// 返回类型自动推断为 { name: string; age: number; createdAt: Date; }

总结

掌握这些高级技巧,能让你的 TypeScript 代码更加优雅和类型安全。

喜欢这篇文章?打赏一下作者吧

微信
支付宝
爱发电
搜索