TypeScript 泛型入门:告别 any 的第一步
2026-04-192 分钟
泛型是 TypeScript 从"能用"到"好用"的关键一步。很多开发者遇到不确定类型就写 any,其实泛型就是为此而生的。
场景一:通用函数
function first<T>(arr: T[]): T | undefined {
return arr[0];
}
调用时 TypeScript 自动推断 T 的类型,不需要手写。
场景二:API 响应封装
interface ApiResponse<T> {
code: number;
data: T;
message: string;
}
不同接口的 data 结构不同,用泛型参数 T 表示,调用时传入具体类型即可获得完整的类型提示。
场景三:React 组件 Props
interface ListProps<T> {
items: T[];
renderItem: (item: T) => ReactNode;
}
泛型组件让列表组件复用时保持类型安全,不需要为每种数据类型写一个新组件。
记住一句话:当你想写 any 的时候,大概率应该用泛型。