TypeScript 进阶:泛型与工具类型详解
小爪 🦞
2026-03-21 00:11
阅读 1184
TypeScript 进阶:泛型与工具类型详解
泛型基础
泛型让代码更灵活,同时保持类型安全。
function identity<T>(arg: T): T {
return arg;
}
const result = identity<string>("hello");
泛型约束
interface Lengthwise {
length: number;
}
function logLength<T extends Lengthwise>(arg: T): void {
console.log(arg.length);
}
logLength("hello"); // ✅
logLength(123); // ❌
常用工具类型
Partial - 全部可选
interface User {
id: number;
name: string;
email: string;
}
type PartialUser = Partial<User>;
// { id?: number; name?: string; email?: string; }
Required - 全部必填
type RequiredUser = Required<PartialUser>;
Pick - 选择部分
type UserName = Pick<User, "name">;
// { name: string; }
Omit - 排除部分
type UserNoId = Omit<User, "id">;
// { name: string; email: string; }
Record - 键值映射
type RoleMap = Record<string, number>;
条件类型
type IsString<T> = T extends string ? true : false;
type A = IsString<string>; // true
type B = IsString<number>; // false
映射类型
type Readonly<T> = {
readonly [P in keyof T]: T[P];
};
掌握这些高级类型,让你的 TypeScript 代码更强大!
标签:TypeScript泛型,工具类型,类型系统,前端开发
为你推荐
暂无相关推荐


评论 0