首页 > 其他分享 >ts 中泛型的简单使用

ts 中泛型的简单使用

时间:2023-10-08 16:47:33浏览次数:42  
标签:ts ApiResponseData User 简单 类型 data id 中泛 属性

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: '[email protected]'
  },
  message: 'Success'
};

在上述示例中,我们实例化了一个 ApiResponseData<User> 类型的对象,并将其赋值给变量 response。由于 T 被指定为 User 类型,因此 response.data 属性的类型也被自动确定为 User 类型,可以包含 idnameemail 三个属性。

通过使用泛型,我们可以编写更加通用、灵活的代码,在不同的场景下可以适应多种数据类型的处理需求。

标签:ts,ApiResponseData,User,简单,类型,data,id,中泛,属性
From: https://www.cnblogs.com/coodeshark/p/17749543.html

相关文章

  • Go - Creating Sets
    Problem: Youwanttocreateasetdatastructure.Solution: Wrapastructaroundamap.Createsetfunctionsonthestruct. Asetisanunordereddatastructurethathasonlyuniqueelements.Itimplementsthemathematicalconceptofafinitesetandt......
  • 为什么redis使用单线程——简单说下
    redis使用单线程主要原因第一个,每条命令都是原子操作,单线程能够保证原子性。第二个原因,如果设计为多线程,肯定存在锁的竞争导致锁的获取释放开销,线程切换的开销,这与我们使用redis是相违背的。尽管redis设计为单线程,但是他的性能很高,主要原因是基于内存,以及pipeline机制都能保证redi......
  • echarts容器的宽度根据父元素宽度变化进行自适应
    根据浏览器窗口大小变化进行自适应,使用window.onresize=()=>myChart.resize()浏览器窗口不变,容器大小变化(例如:侧边菜单栏收缩),vue3为例letmyChart=null;onMounted(()=>{setTimeout(()=>{//渲染画布方法getEchart();//画布自适应代码constresi......
  • Hackintosh最简单且正确的USB定制方法
    一,使用USBToolBox定制https://github.com/USBToolBox请下载tool和kext,推荐在win下打开定制工具,定制过程非常简单,使用USB2.0和USB3.0各一个U盘,把所有的接口都插一遍,然后导出map.kext,将该kext和之前下载的另一个kext,总共两个kext放入efi加载并重启系统。二,使用hackintool完善使用usb......
  • Python入门示例系列18 条件控制 Conditional Statements
    Python提供了bool类型来表示真(对)或假(错),比如常见的5>3比较算式,这个是正确的,在程序世界里称之为真(对),Python使用True来代表;再比如4>20比较算式,这个是错误的,在程序世界里称之为假(错),Python使用False来代表。True和False是Python中的关键字,当作为Python代码输入时,一......
  • WGCNA分析,简单全面的最新教程
    WGCNA基本概念加权基因共表达网络分析(WGCNA,Weightedcorrelationnetworkanalysis)是用来描述不同样品之间基因关联模式的系统生物学方法,可以用来鉴定高度协同变化的基因集,并根据基因集的内连性和基因集与表型之间的关联鉴定候补生物标记基因或治疗靶点。相比于只关注差异......
  • ts的keyof
    keyof 是TypeScript中的一种类型操作符,用于获取一个类型的所有键(属性名)作为联合类型。它的语法如下:typeKeysOfType=keyofObjectType;其中:keyof 是TypeScript的关键字,用于指定要获取键的类型操作。ObjectType 是你想要获取键的对象类型。这将返回一个联合类型,包......
  • 引入echarts时报错 “TypeError: Cannot read properties of undefined (reading ‘in
     用import*asechartsfrom'echarts' 替换  importechartsfrom'echarts',便可以有效解决 ......
  • python过滤以#;//号开头的行注释行 startswith()
    作用:过滤指定符号开头的行(过滤注释行)Pythonstartswith()方法用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定值,则在指定范围内检查。方法(函数):str.startswith(substr,beg=0,end=len(string));参数:str--......
  • TSINGSEE青犀基于AI视频智能分析的客流统计分析场景方案
    随着AI技术的不断发展与人类需求的不断提升,视觉目标的检测识别、智能监控在人们的生活中均有着广泛的应用。其中,智能安防视频监控是计算机视觉的重要应用领域,而AI客流统计则是近年来此领域大家关注热度较高的技术之一。行业痛点传统的客流量统计采用的仍是人工计数方法,对进出商超的......