位置: IT常识 - 正文

【前端进阶】-TypeScript高级类型 | 泛型约束、泛型接口、泛型工具类型(前端进阶路线)

编辑:rootadmin
【前端进阶】-TypeScript高级类型 | 泛型约束、泛型接口、泛型工具类型

推荐整理分享【前端进阶】-TypeScript高级类型 | 泛型约束、泛型接口、泛型工具类型(前端进阶路线),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端基础进阶,前端技巧,前端进阶教程,前端进阶之旅,前端高手进阶,前端进阶教程,前端tl,前端高手进阶,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

博主主页👉🏻蜡笔雏田学代码 专栏链接👉🏻【TypeScript专栏】 前两篇文章讲解了TypeScript的一些高级类型 详细内容请阅读如下:🔽 【前端进阶】-TypeScript高级类型 | 交叉类型、索引签名类型、映射类型 【前端进阶】-TypeScript高级类型 | 类的初始化、构造函数、继承、成员可见性 今天来学习TypeScript另外一些高级类型! 感兴趣的小伙伴一起来看看吧~🤞

文章目录泛型创建泛型函数调用泛型函数泛型约束泛型接口泛型类泛型工具类型1.Partial<Type>2.Readonly<Type>3. Pick<Type, Keys>4. Record<Keys,Type>泛型

泛型是可以在保证类型安全前提下,让函数等与多种类型一起工作,从而实现复用,常用于:函数,接口,class中。

【前端进阶】-TypeScript高级类型 | 泛型约束、泛型接口、泛型工具类型(前端进阶路线)

需求:创建一个id函数,传入什么数据就返回该数据本身(也就是说,参数和返回值类型相同)。

function id(value: number): number { return value }

比如,id(10)调用以上函数就会直接返回10本身。但是,该函数只接受数值类型,无法用于其他类型。

为了能让函数接受任意类型,可以将参数类型修改为any。但是,这样就失去了TS的类型保护,类型不安全。

传入的类型与返回的类型应该是相同的。如果我们传入一个数字,我们只知道任何类型的值都有可能被返回。

function id(value: any): any { return value }

泛型在保证类型安全(不丢失类型信息)的同时,可以让函数等与多种不同的类型一起工作,灵活可复用。

实际上,在C#和Java等编程语言中,泛型都是用来实现可复用组件功能的主要工具之一。

创建泛型函数function id<Type>(value: Type): Type { return value }

解释:

语法:在函数名称的后面添加<><><>(尖括号),尖括号中添加类型变量,比如此处的Type。类型变量Type,是一种特殊类型的变量,只用于表示类型而不是值。Type类型变量相当于一个类型容器,能够捕获用户传入的类型(比如:number)(具体是什么类型由用户>调用该函数时指定)。因为Type是类型,因此可以将其作为函数参数和返回值的类型,表示参数和返回值具有相同的类型。类型变量Type,可以是任意合法的变量名称。调用泛型函数// 使用泛型创建一个函数:function id<Type>(value: Type): Type { return value}//调用泛型函数:// 1 以number类型调用泛型函数const num = id<number>(10)// 2 以string类型调用泛型函数const str = id<string>('a')// 3 以boolean类型调用泛型函数const ret = id<boolean>(true)

解释:

语法:在函数名称后面添加<><><>(尖括号),尖括号中指定具体的类型,比如,此处的number。当传入类型number后,这个类型就会被函数
本文链接地址:https://www.jiuchutong.com/zhishi/300585.html 转载请保留说明!

上一篇:请求转发与重定向到底有哪些区别?(请求转发与重定义的区别)

下一篇:微信小程序 | 基于ChatGPT实现电影推荐小程序(微信小程序基于什么框架)

  • 哪个牌子的智能机好(哪个牌子的智能机好)(哪个牌子的智能锁质量最好)

    哪个牌子的智能机好(哪个牌子的智能机好)(哪个牌子的智能锁质量最好)

  • 苹果13拍照怎么关掉快门声音(苹果13拍照怎么没有声音)

    苹果13拍照怎么关掉快门声音(苹果13拍照怎么没有声音)

  • 快手字幕怎么弄(快手字幕怎么弄成横的)

    快手字幕怎么弄(快手字幕怎么弄成横的)

  • 微信怎么开启扬声器播放语音(微信怎样开启扬声器功能)

    微信怎么开启扬声器播放语音(微信怎样开启扬声器功能)

  • 华为nova7怎么长截屏(华为nova7怎么长时间亮屏)

    华为nova7怎么长截屏(华为nova7怎么长时间亮屏)

  • apple id余额怎么提现(appleid余额怎么查)

    apple id余额怎么提现(appleid余额怎么查)

  • 怎么把qq语音气泡设置为默认(怎么把qq语音弄成音频)

    怎么把qq语音气泡设置为默认(怎么把qq语音弄成音频)

  • oppo怎么从白名单移出来(oppo怎么白名单弄出白名单)

    oppo怎么从白名单移出来(oppo怎么白名单弄出白名单)

  • 华为和荣耀有什么区别(华为和荣耀有什么关联)

    华为和荣耀有什么区别(华为和荣耀有什么关联)

  • 抖音小程序怎么申请??(抖音小程序怎么删除游戏)

    抖音小程序怎么申请??(抖音小程序怎么删除游戏)

  • 移动应用授权失效(移动授权权限名词解释)

    移动应用授权失效(移动授权权限名词解释)

  • 闲鱼玩家全网影响力一直在审核(闲鱼中闲鱼玩家是什么意思)

    闲鱼玩家全网影响力一直在审核(闲鱼中闲鱼玩家是什么意思)

  • x30跟x30pro区别(x3和x30pro的区别)

    x30跟x30pro区别(x3和x30pro的区别)

  • mate30能不能无线充电(mate30支持无线充电)

    mate30能不能无线充电(mate30支持无线充电)

  • 计算机染上病毒后可能出现的现象是(计算机染上病毒后不可能出现)

    计算机染上病毒后可能出现的现象是(计算机染上病毒后不可能出现)

  • 手机触屏的原理(手机触屏的原理李永乐)

    手机触屏的原理(手机触屏的原理李永乐)

  • realme x2怎么关闭软件自动更新(realme X2怎么关闭浏览器的禁止访问)

    realme x2怎么关闭软件自动更新(realme X2怎么关闭浏览器的禁止访问)

  • 亲情关怀可以卸载吗(亲情关怀卸载了对方还能远程协助操作吗)

    亲情关怀可以卸载吗(亲情关怀卸载了对方还能远程协助操作吗)

  • 华为mate30怎么截屏(华为mate30怎么截屏的4种方法)

    华为mate30怎么截屏(华为mate30怎么截屏的4种方法)

  • 淘宝二手市场怎么进入(淘宝卖二手货在哪里)

    淘宝二手市场怎么进入(淘宝卖二手货在哪里)

  • iphonexs有指纹解锁吗(苹果xs的指纹解锁)

    iphonexs有指纹解锁吗(苹果xs的指纹解锁)

  • 为什么趣步人脸认证不成功(为什么趣步人脸识别不了)

    为什么趣步人脸认证不成功(为什么趣步人脸识别不了)

  • 什么叫ppt怎么制作(什么叫ppt怎么做ppt)

    什么叫ppt怎么制作(什么叫ppt怎么做ppt)

  • 画吧怎么用(画吧怎么用图层)

    画吧怎么用(画吧怎么用图层)

  • HTML文档基本结构(html文档基本结构包括哪几部分)

    HTML文档基本结构(html文档基本结构包括哪几部分)

  • 符合条件的小型微利企业所得税税率为
  • 劳务公司一般纳税人可以抵扣进项税吗
  • 小规模纳税人如何申报
  • 改革性补贴是否属于规范的津贴补贴
  • 民办非企业捐赠承诺书
  • 发放代扣代缴个人所得税分录
  • 发票认证延期抵扣啥意思
  • 旅游的合同
  • 增值税即征即退2023政策
  • 二手商品没有发票
  • 商场收取租户电费怎么处理税收?
  • 对以前年度的收入调整
  • 公司更名期间账户可以使用吗?
  • 运输业过路费怎么做账
  • 不锈钢交几个点税
  • 小规模纳税人零申报什么意思
  • 加计扣除汇算清缴怎么调减
  • 其他货币资金怎么做账
  • 发票拍照打印出来能用吗
  • 代收代付差额征税
  • 实收资本和注册资本的账务处理
  • 防伪税控发票维修流程
  • 电脑右下角弹窗广告怎么彻底清除
  • 进货折扣适用于什么条件
  • win11怎么更改系统日期
  • 员工加班车费会计分录
  • php判断ua
  • php 字符串函数
  • 股东帮企业还款违法吗
  • 清晨暴雨的说说
  • vue for循环遍历对象取值
  • 划转国有划拨土地流程
  • php超时限制
  • php获取表单数据的方法和区别
  • 餐饮小微企业优惠政策2021
  • 未实现汇兑损益如何计算
  • 外部审计查什么
  • 停车费定额发票有效期是多久
  • 其他资本公积主要包括
  • 开票资料的开户银行必须是基本户吗
  • 企业所得税的成本
  • 受托机构名称填什么
  • 报关单保费率怎么填
  • 只有收入没有成本怎么做账
  • 公司没有账套怎么做账
  • 地税发票丢失怎么办?
  • 发票红冲操作流程
  • 记账凭证摘要的填制要求
  • 失业保险金退回短信
  • 实物投资需要缴纳增值税吗
  • 资本公积转增股本所有者权益会变吗
  • 总分类账户与明细分类账户的关系
  • centos6.2安装教程
  • 安装centos6.10
  • centos bz
  • win81蓝屏重启故障
  • mac截图快捷键设置
  • linux nohup命令详解
  • centos apache 配置
  • windows8.1分辨率
  • mac合盖不休眠怎么办
  • linux fflush
  • linux删除后恢复
  • 怎么使用Win10自带绘画软件
  • win10怎么安装java?win10系统安装java的方法
  • kernel-headers-2.2.1-4
  • 用nodejs做的项目
  • node.js server-side
  • 分享一些常用的文件
  • linux共享内存最大值
  • vue实现标签页效果
  • 用原生js实现过什么功能
  • android drawpath
  • js 类继承
  • 全国增值税务查询官网
  • 滴滴排队机制怎么设置
  • 税务稽查强制措施
  • 增值税是否在利润表反映
  • 一月份纳税申报
  • 三证一码是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设