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

  • powerbeats蓝牙耳机怎么连接(powerbeats蓝牙耳机开不了机)

    powerbeats蓝牙耳机怎么连接(powerbeats蓝牙耳机开不了机)

  • iphone13怎么关闭自动亮度(iphone13怎么关闭自动调节亮度)

    iphone13怎么关闭自动亮度(iphone13怎么关闭自动调节亮度)

  • iMessage和短信有什么区别

    iMessage和短信有什么区别

  • qq标识如何取消(qq标识咋取消)

    qq标识如何取消(qq标识咋取消)

  • 红白黄哪个是音频线(红白黄哪个是声音)

    红白黄哪个是音频线(红白黄哪个是声音)

  • 微信为什么突然不能发图片了(微信为什么突然变成黑色背景)

    微信为什么突然不能发图片了(微信为什么突然变成黑色背景)

  • 电脑桌面显示不全怎么设置(电脑桌面显示不了软件)

    电脑桌面显示不全怎么设置(电脑桌面显示不了软件)

  • 苹果mini4上市时间(苹果mini4啥时候上市的)

    苹果mini4上市时间(苹果mini4啥时候上市的)

  • a92s是5g手机吗(a92s是不是5g手机)

    a92s是5g手机吗(a92s是不是5g手机)

  • qq陌生人是怎么来的(扣扣陌生人)

    qq陌生人是怎么来的(扣扣陌生人)

  • 安全删除硬件并弹出媒体什么意思(安全删除硬件并弹出媒体怎么恢复)

    安全删除硬件并弹出媒体什么意思(安全删除硬件并弹出媒体怎么恢复)

  • 苹果11需要更新系统吗(苹果11需要更新16吗)

    苹果11需要更新系统吗(苹果11需要更新16吗)

  • 红米k20pro充电突然变慢(红米k20pro充电一闪一闪的是什么原因)

    红米k20pro充电突然变慢(红米k20pro充电一闪一闪的是什么原因)

  • qq撤回消息时间限制(微信消息超时了怎么才能撤回)

    qq撤回消息时间限制(微信消息超时了怎么才能撤回)

  • 第一次登录qq怎么登(第一次登录QQ怎么登2022)

    第一次登录qq怎么登(第一次登录QQ怎么登2022)

  • vivox9上市时间是哪年(vivox9啥时候发布的)

    vivox9上市时间是哪年(vivox9啥时候发布的)

  • 图怪兽下载的图片保存在哪里(图怪兽下载的图片有没有版权)

    图怪兽下载的图片保存在哪里(图怪兽下载的图片有没有版权)

  • 美团可以后补发票吗(美团申请补款)

    美团可以后补发票吗(美团申请补款)

  • 华为mate20x5G是否防水

    华为mate20x5G是否防水

  • oppo手机怎么截屏 截图(oppo手机怎么截长图)

    oppo手机怎么截屏 截图(oppo手机怎么截长图)

  • 苹果手机基带坏了有什么症状(苹果手机基带坏了怎么修)

    苹果手机基带坏了有什么症状(苹果手机基带坏了怎么修)

  • 微信漂流瓶啥下线了(2021微信漂流瓶)

    微信漂流瓶啥下线了(2021微信漂流瓶)

  • 小米屏蔽的相册去哪里找(小米屏蔽的相册怎么看)

    小米屏蔽的相册去哪里找(小米屏蔽的相册怎么看)

  • TransUnet官方代码测试自己的数据集(已训练完毕)(transit code)

    TransUnet官方代码测试自己的数据集(已训练完毕)(transit code)

  • 计算机视觉基础学习-图像拼接(计算机视觉基础知识)

    计算机视觉基础学习-图像拼接(计算机视觉基础知识)

  • 使用区块管理器隐藏不需要的古腾堡区块(区块管理办法)

    使用区块管理器隐藏不需要的古腾堡区块(区块管理办法)

  • 租赁办公场所的请示
  • 个体工商户的纳税人类型怎么选
  • 代收代缴消费税会计分录
  • 经营性应付项目的增加怎么计算
  • 暂缓收缴工会经费的请示
  • 工程咨询属于什么合同
  • 房租收据样式
  • 个税登记app
  • 企业充值是什么意思
  • 公司作为承租方需要交房产税吗
  • 出售旧机床的账务处理
  • 合伙企业的投资者李某以企业资金
  • 土地款印花税计入无形资产吗
  • 外贸企业购进固定资产进项税能留存吗
  • 未认证的增值税发票如何开具红字发票
  • 为什么发票查验不出
  • 退役士兵增值税优惠申报方法
  • 年终奖金个人所得税计算公式
  • 企业销售费用支出怎么算
  • 科技开发属于什么产品
  • 没有收入能结转损益吗
  • 总资产平均余额是资产总额吗
  • 退回多缴税款如何做账
  • 支付宝提现到企业账户 怎么开票
  • php的数组函数
  • 银行提取现金会计等式
  • dm分区工具图解教程
  • 图像分割 unet
  • 补发工资怎么做账
  • 委托加工物资增值税计税依据
  • ICCV, ECCV, CVPR,IEEE的关系
  • 怎么确认个税填报成功
  • 分配股利账务处理
  • 增值税系统技术维护费抵扣只能当月申报
  • java 邮件
  • mysql5.7免安装版
  • mysql存储过程 游标
  • 项目支出可以列支差旅费吗
  • 携程 海外
  • 分公司税务登记流程与操作手册
  • 酒类许可证过期了去哪里换证
  • 收到政府扶贫款如何做分录
  • 电子发票和纸质发票的优缺点
  • sqlserver代理服务启动失败
  • 什么是注册资本
  • 水电费计提是什么意思
  • 加油卡充值可以开增值税专用发票吗
  • 用友t3软件的系统内没有利润表模块
  • 收到退留抵税额会计分录
  • 代发工资怎么算税
  • 暂估成本以后也没有票回来了
  • 发出库存商品没有发票
  • 其他应付款通俗
  • 什么是中型企业
  • 销售净利润怎么算
  • 注册公司可以代办吗法人需要到场吗?
  • 出纳建账账户名称怎么写
  • 在docker中使用service命令
  • sql to sqlalchemy 转换的小例子
  • win7电脑初始化
  • win7更改win10系统要怎么更改
  • ubuntu屏幕突然变大
  • centos怎么备份
  • win10假死的原因
  • debian怎么开启端口
  • android 坐标系
  • linux系统下hosts文件详解及配置
  • perl 调用perl
  • nodejs 文件操作
  • 备份文件并上传到网盘
  • 如何修改android studio的下载路径
  • javascript以及javascript的作用
  • unity3d从入门到精通
  • jQuery Easyui Tabs扩展根据自定义属性打开页签
  • javascript例题
  • 增值税运输费用税额计算
  • 电子税务局政策速递
  • 新一代票据系统怎么开通
  • 2018年建筑业增值税税率变更文件
  • 从哪个国家进口牛肉
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设