位置: 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实现电影推荐小程序(微信小程序基于什么框架)

  • 微信公众号营销新思路:传播路径趣味设计(微信公众号营销案例)

    微信公众号营销新思路:传播路径趣味设计(微信公众号营销案例)

  • 平板如何设置儿童模式(我想给平板设置)

    平板如何设置儿童模式(我想给平板设置)

  • 苹果如何开启录屏功能(苹果如何开启录屏权限)

    苹果如何开启录屏功能(苹果如何开启录屏权限)

  • 每次程序运行时随翻译随执行源程序方式称为(每次程序运行时随翻译随执行)

    每次程序运行时随翻译随执行源程序方式称为(每次程序运行时随翻译随执行)

  • 手机自动同步关闭后果(手机自动同步关闭了怎么自己打开了?)

    手机自动同步关闭后果(手机自动同步关闭了怎么自己打开了?)

  • 如何第三次修改快手号(怎么修改微信号第三次次)

    如何第三次修改快手号(怎么修改微信号第三次次)

  • 怎么删除相册里面的图片和视频(怎么删除相册里的相册)

    怎么删除相册里面的图片和视频(怎么删除相册里的相册)

  • 苹果辅助触控自动消失什么原因(苹果辅助触控自动关闭怎样解决)

    苹果辅助触控自动消失什么原因(苹果辅助触控自动关闭怎样解决)

  • 手机如何当电视遥控器(手机如何当电视手柄)

    手机如何当电视遥控器(手机如何当电视手柄)

  • 手机nmc是什么意思(手机上mcc和mnc是什么意思)

    手机nmc是什么意思(手机上mcc和mnc是什么意思)

  • 连蓝牙耳机会被盗取信息吗(连接蓝牙耳机会不会中病毒)

    连蓝牙耳机会被盗取信息吗(连接蓝牙耳机会不会中病毒)

  • 华为10plus怎么长截屏(华为10e怎么长截图)

    华为10plus怎么长截屏(华为10e怎么长截图)

  • 网速不稳定和路由器有关吗(网速不稳定和什么有关)

    网速不稳定和路由器有关吗(网速不稳定和什么有关)

  • uhd620相当于什么显卡(uhd620相当于什么显卡gt)

    uhd620相当于什么显卡(uhd620相当于什么显卡gt)

  • 抖音每天私信上限(抖音每天私信上限会限流吗)

    抖音每天私信上限(抖音每天私信上限会限流吗)

  • 小米短信功能闪退(小米手机收到短信闪光灯会闪)

    小米短信功能闪退(小米手机收到短信闪光灯会闪)

  • 华为手机增强服务要启用吗(华为手机增强服务)

    华为手机增强服务要启用吗(华为手机增强服务)

  • 华为手机支持无线充电的型号(华为手机支持无线充电吗)

    华为手机支持无线充电的型号(华为手机支持无线充电吗)

  • 华为matebook14长宽(华为matebook14长宽多少厘米)

    华为matebook14长宽(华为matebook14长宽多少厘米)

  • 手机电池为什么会膨胀(手机电池为什么充不进去电)

    手机电池为什么会膨胀(手机电池为什么充不进去电)

  • 华为手环5i怎么开机(华为手环5i怎么开机关机)

    华为手环5i怎么开机(华为手环5i怎么开机关机)

  • 小米8支持5g吗(小米八可以用5g网络吗)

    小米8支持5g吗(小米八可以用5g网络吗)

  • 谷歌商店怎么充值(谷歌商店怎么充值余额)

    谷歌商店怎么充值(谷歌商店怎么充值余额)

  • 腾讯视频绑定手机号(腾讯视频绑定手机号查看资产是什么意思?)

    腾讯视频绑定手机号(腾讯视频绑定手机号查看资产是什么意思?)

  • 高德地图突然导航不了怎么办(高德地图突然导航不动了)

    高德地图突然导航不了怎么办(高德地图突然导航不动了)

  • 来电秀秀怎么设置(来电秀秀怎么设置来电铃声)

    来电秀秀怎么设置(来电秀秀怎么设置来电铃声)

  • 苹果x怎么拉黑联系人(苹果X怎么拉黑00开头的号码)

    苹果x怎么拉黑联系人(苹果X怎么拉黑00开头的号码)

  • Win7系统无法取消任务栏锁定如何解决?(win7不能进系统怎么办)

    Win7系统无法取消任务栏锁定如何解决?(win7不能进系统怎么办)

  • 山东省增值税发票查验平台
  • 出售写字楼需要什么手续
  • 所得税汇算清缴时间期限
  • 非货币性资产交换补价大于25%的会计处理
  • 增值税发票管理办法
  • 个体经营所得税核定征收2023标准
  • 研发项目增值税税率
  • 红字信息表可以开一半吗
  • 租赁合同印花税率
  • 材料验收入库款项尚未支付
  • 折旧四种方法
  • 特许权使用费所得包括
  • 支付宝已经支付的钱怎么退回来
  • 预计退货的会计分录 东奥
  • 年底结账会计处理
  • 哪些房屋交易需要公证
  • 提供物业管理服务的纳税人如何认定
  • 国有划拨地是否能转让土地
  • 旅游合同签订
  • 中小五金企业如何进行成本核算
  • 承兑贴息的会计分录
  • 购入商品入库时发现实收物多余应收数计入什么科目
  • 中药材收购需要纳税吗
  • 劳务派遣公司差额征税怎么申报
  • Windows11更新后无法联网
  • PHP:mb_ereg_replace()的用法_mbstring函数
  • win10电脑屏幕颜色变了怎么调到原来的
  • php安装及使用教程
  • ros call
  • 公司缴纳残保金怎么做账
  • 演员片酬要分给经纪公司吗
  • 改进的拼音
  • php删除数据
  • 2021所得税季报怎么填
  • 决算清理期和库款报解整理期
  • 出口退税企业待遇怎么样
  • 土地增值税扣除率怎样计算
  • golang eventbus
  • 汇算清缴涉及哪些调整
  • 一般纳税人应交税费二级科目有哪些
  • 出差补助是否计入工资总额
  • 企业法人股权转让要交什么税
  • 广交会展务
  • 商业保理怎么账务处理?
  • 公司注销前的发票怎么查
  • 折旧费用分摊科目是什么
  • 出口抵减内销产品应纳税额分录
  • 合作社注销麻烦吗
  • 土地无形资产要摊销吗
  • 产品质量的保证需要哪几方面的支持
  • 刚开业的健身房
  • 收到投资款现金流量
  • 航天税盘服务费分录
  • 房产税什么时候开始征收2023
  • Windows下使用gccgo
  • mysql基本教程
  • mysql按字节截取
  • win10系统微软
  • 如何查看ubuntu系统版本
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • win1020h2累积更新
  • win8/10功能
  • 简洁桌面怎么设置
  • opengl画直线函数
  • 中间件 .net
  • unity的monodevelop
  • JavaScript中数组的相关方法
  • javascript中的函数如何理解
  • windows的安装类型
  • u3d脚本语言
  • c# /n
  • bootstrap boosting
  • Python selenium 父子、兄弟、相邻节点定位方式详解
  • javascript中继承
  • jquery选择器写法
  • Python中列表元素可通过什么访问
  • Python实现类似jQuery使用中的链式调用的示例
  • 一般纳税人销售二手车增值税税率
  • 税务征管科与纳税人有接触吗
  • 防疫物资开票免税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设