ts 中泛型的简单使用
interface ApiResponseData<T> {
code: number
data: T
message: string
}
在这段 TypeScript 代码中,T
是一个泛型参数(generic parameter),用于描述 ApiResponseData<T>
的类型。泛型可以理解为是一种占位符,它能够让我们在定义函数或类型时先不确定具体的类型,而是让使用者在调用时指定具体的类型。
在 ApiResponseData<T>
中,data
属性的类型被指定为泛型类型 T
,表示该属性可以接受任何类型的值。当我们实例化 ApiResponseData<T>
类型时,需要为 T
指定一个具体的类型,并在 data
属性中传入相应的值。例如:
typescript复制代码
interface User {
id: number,
name: string,
email: string,
}
const response: ApiResponseData<User> = {
code: 200,
data: {
id: 123,
name: 'John Doe',
email: 'johndoe@example.com'
},
message: 'Success'
};
在上述示例中,我们实例化了一个 ApiResponseData<User>
类型的对象,并将其赋值给变量 response
。由于 T
被指定为 User
类型,因此 response.data
属性的类型也被自动确定为 User
类型,可以包含 id
、name
和 email
三个属性。
通过使用泛型,我们可以编写更加通用、灵活的代码,在不同的场景下可以适应多种数据类型的处理需求。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通