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

  • iphone三指捏合复制怎么设置(iphone三指捏合复制到ipad粘贴不上)

    iphone三指捏合复制怎么设置(iphone三指捏合复制到ipad粘贴不上)

  • 微信群投票怎么发起(微信群投票怎么搞)

    微信群投票怎么发起(微信群投票怎么搞)

  • 华为荣耀50怎么恢复彩色屏幕(华为荣耀50怎么开空调)

    华为荣耀50怎么恢复彩色屏幕(华为荣耀50怎么开空调)

  • 苹果11可以更新15.3系统吗(苹果11可以更新16.5吗)

    苹果11可以更新15.3系统吗(苹果11可以更新16.5吗)

  • 华为nova4e是哪年出的(华为nova4e是什么时候上市的,价格多少?)

    华为nova4e是哪年出的(华为nova4e是什么时候上市的,价格多少?)

  • 抖音怎么用一个手机号注册两个号(抖音怎么用一个身份证认证多个号)

    抖音怎么用一个手机号注册两个号(抖音怎么用一个身份证认证多个号)

  • 微波技术的应用(微波技术的应用论文)

    微波技术的应用(微波技术的应用论文)

  • 佳能2420l提示e00007(佳能2420l提示e000003)

    佳能2420l提示e00007(佳能2420l提示e000003)

  • 华为手机恢复出厂设置在哪里(华为手机恢复出厂设置系统会回到原来的系统吗)

    华为手机恢复出厂设置在哪里(华为手机恢复出厂设置系统会回到原来的系统吗)

  • 电脑腾讯会议显示网络异常(电脑腾讯会议显示麦克风设备异常)

    电脑腾讯会议显示网络异常(电脑腾讯会议显示麦克风设备异常)

  • iphone11pro max港版和国行区别(iphone11pro max港版和国行怎么区分)

    iphone11pro max港版和国行区别(iphone11pro max港版和国行怎么区分)

  • 微信封号8天后可以正常登录了吗(微信封号8天之后能不能用了)

    微信封号8天后可以正常登录了吗(微信封号8天之后能不能用了)

  • 微信反向问号怎么打(微信反过来的问号)

    微信反向问号怎么打(微信反过来的问号)

  • 华为荣耀20是屏幕指纹吗(华为荣耀20屏幕锁怎么解)

    华为荣耀20是屏幕指纹吗(华为荣耀20屏幕锁怎么解)

  • 美版有锁激活什么意思(苹果美版有锁激活是什么意思?)

    美版有锁激活什么意思(苹果美版有锁激活是什么意思?)

  • opporeno2语音助手怎么唤醒(opporeno2语音助手在哪里)

    opporeno2语音助手怎么唤醒(opporeno2语音助手在哪里)

  • 华为手机声音太小怎么办(华为手机声音太小怎么调大声音量)

    华为手机声音太小怎么办(华为手机声音太小怎么调大声音量)

  • 华为发布mate30屏占比(华为mate30屏幕报价)

    华为发布mate30屏占比(华为mate30屏幕报价)

  • 手机卡在开机页面进不去怎么办(手机卡在开机页面进不去)

    手机卡在开机页面进不去怎么办(手机卡在开机页面进不去)

  • word怎么打密封线(word怎么加密封线)

    word怎么打密封线(word怎么加密封线)

  • oppo手机怎么导入联系人(oppo手机怎么导入vivo手机)

    oppo手机怎么导入联系人(oppo手机怎么导入vivo手机)

  • ps怎么将字体加粗(ps怎么将字体加边框)

    ps怎么将字体加粗(ps怎么将字体加边框)

  • oppo256g手机有哪些(oppo手机256g手机有哪些)

    oppo256g手机有哪些(oppo手机256g手机有哪些)

  • 抖音怎样录制自己唱歌(抖音怎样录制自己唱歌加伴奏)

    抖音怎样录制自己唱歌(抖音怎样录制自己唱歌加伴奏)

  • 苹果手机关机充电显示什么(苹果手机关机充电界面)

    苹果手机关机充电显示什么(苹果手机关机充电界面)

  • 为什么word字上部不显示(word上面的字显示不全怎么办)

    为什么word字上部不显示(word上面的字显示不全怎么办)

  • 键盘上哪个键控制声音(键盘上哪个键控制鼠标开关)

    键盘上哪个键控制声音(键盘上哪个键控制鼠标开关)

  • Win10更新补丁KB5001330出现Bug怎么解决?(win10更新补丁卸载不了)

    Win10更新补丁KB5001330出现Bug怎么解决?(win10更新补丁卸载不了)

  • React 框架(react框架和vue哪个用的人多)

    React 框架(react框架和vue哪个用的人多)

  • 公司主营销售墓地合法吗
  • 投资管理公司成立的条件
  • 户外公司招牌
  • 电汇凭证如何使用
  • 商场返现活动怎么入账
  • 公司代垫个税会计分录
  • 已认证未抵扣什么意思
  • 融资租赁首付款支付给供应商
  • 共同开发无形资产怎么算
  • 化工类资质建筑企业有哪些
  • 收取境外服务费收入会计分录
  • 收到上个月的发票怎么做分录
  • 总公司要合并分公司报表吗
  • 企业所得税季报和年报的区别
  • 其他收益是否缴纳个税
  • 工程完工进项税税务局不给退,走那个科目销毁
  • 第三方代收代付平台
  • 进项税额忘了抵扣
  • 借给其他公司借款会计分录
  • 个体户季度超30万要交多少税
  • 工会职工活动支出标准
  • 购入低值易耗品一批,实际成本4000元
  • 转出未交增值税借方余额表示什么
  • 业务招待费是什么科目
  • 分公司打货款怎么做账
  • 现金分红说明什么
  • Laravel 5.5中为响应请求提供的可响应接口详解
  • web课程设计网页
  • 如何去掉电脑桌面背景图
  • 认缴出资没到位违法吗
  • live updater
  • PHP:pcntl_sigprocmask()的用法_PCNTL函数
  • 现金折扣优惠
  • 委托证券公司发行股票的手续费计入什么科目
  • yii框架的优点及原理
  • 智能优化算法书籍推荐
  • 补交当年的增值税
  • 住宿专票可以抵增值税吗
  • java 日志系统
  • 中国男人百度百科
  • 免抵退税的会计分录
  • python中列表的索引用法
  • 织梦相关文章调用
  • 开具免税的发票,"税率"栏该如何填开?
  • sqlserver2012安装后找不到
  • 票据的收款人和持票人有什么区别
  • mysql密码忘了
  • sql 文件存储
  • 销售额多少需要纳税
  • 增值税进项税额转出的情况有哪些
  • 企业所得税税款可以税前扣除吗
  • 小规模纳税人专票开1%还是3%
  • 明细与发票
  • 销售租赁服务税率
  • 业务招待费占管理费用的多少算合适
  • 票据比例
  • 餐费补贴是否计入成本
  • 每月分红会计分录
  • 为什么总成本费用不变
  • 学校固定资产账记法
  • mysql深入理解
  • win7旗舰版系统还原无法启动
  • windows10怎样安装
  • win8系统运行窗口怎么打开
  • WIN10开启高性能模式
  • linux计划任务不生效
  • linux与windows有哪些主要区别
  • js let语句
  • dom操作元素属性
  • 浅析javascript中function 的 length 属性
  • windows与苹果
  • listview的item
  • 简述jquery的优势
  • activity启动流程图解
  • 安卓自定义ui
  • css 相对定位
  • 安卓万能插件
  • 电子税务里面怎么作废发票
  • 陕西地方水利建设基金减免政策2023
  • 上海登高证查询官网入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设