当前位置: 首页 > news >正文

TypeScript-------------类型收窄

//类型收窄 //typeof 类型收窄 function uppercase(content:string|number) { if(typeof content === 'string')//收窄的类型有限 { return content.toUpperCase(); } return content; } //真值收窄 function getString(content?:string)//加?表示参数可传可不传 { if(typeof content === 'string') { if(content) { return content.toUpperCase(); } } } //相等收窄 function example(x:string | number,y:string | boolean) { if(x === y) { return x.toUpperCase(); } } //对象类型结构的代码怎么写 function getObjectValue({a,b}:{a:number,b:number}) { return a + b; } getObjectValue({a:1,b:2}); //变量类型以定义变量时的类型为准 let username:string | number ='123';
type Fish = { swim:()=>{ } } type Bird = { fly:()=>{ } } //In 语法下的类型收窄 function test(animal:Fish|Bird) { if('swim' in animal) { return animal.swim(); } return animal.fly(); } //InstanceOf语法下的类型收窄 function test1(param:Date | string) { if(param instanceof Date) { return param.getTime(); } return param.toUpperCase(); } //animal is Fish 叫做类型陈述语法 function isFish(animal:Fish|Bird): animal is Fish { if((animal as Fish).swim !== undefined) { return true; } return false; } function test2(animal:Fish | Bird) { if(isFish(animal)) { return animal.swim(); } return animal.fly(); }
http://www.jsqmd.com/news/848625/

相关文章:

  • 2026年5月均三嗪供应商深度解析与实力派推荐 - 2026年企业推荐榜
  • Perplexity症状查询功能突然失效?排查清单来了:从OpenID Connect令牌过期、UMLS MetaMap服务中断到本地缓存污染的6层故障树分析
  • 数据库第3章 数据库定义 笔记
  • 告别千人一面:NewGAN-Manager 如何让你的 Football Manager 游戏体验焕然一新
  • Ubuntu 16.04 32位系统下RT-Thread开发环境搭建全攻略
  • 带延时功能的电压检测系列晨芯阳HC809
  • 别再为ST7789屏幕移植发愁了!一份代码搞定STM32/51/Arduino(附完整工程)
  • 川南二手物资回收服务机构2026年客观排行一览:宜宾荣生其商贸有限公司联系/办公座椅回收/办公设备回收/大型卖场回收/选择指南 - 优质品牌商家
  • Purple Pi OH开发板适配OpenHarmony 5.0全流程解析与实战
  • 自支撑LiPON薄膜制备与零外压锂沉积机制解析
  • Claude Code自定义命令:打造你的专属提示词库
  • 批量更新SKC轮播图这事儿,我用一次就回不去了
  • 使用 Taotoken CLI 工具一键为团队统一配置开发环境
  • 检索增强生成RAG基础架构与手动模拟
  • Purple Pi OH开发板成功适配OpenHarmony 5.0:从硬件选型到应用开发全解析
  • MTK工具箱进阶玩法:备份手机NV基带、解包Super.img,再也不怕信号丢失
  • 3步掌握TEdit地图编辑器:泰拉瑞亚终极创作工具完全指南
  • 深度学习研究者必知的8大神经网络架构:从基础原理到创新应用
  • Kubernetes Service 类型深度解析:从 ClusterIP 到 LoadBalancer
  • 3步彻底解决Windows程序启动失败:VisualCppRedist AIO终极修复指南
  • Matlab求解微分代数方程:从核心概念到工程实践
  • Perplexity职业发展查询全链路拆解(2024最新算法逻辑+真实用户数据验证)
  • 实时商业情报不再滞后,Perplexity新闻搜索配置全拆解,从入门到日均处理200+信源
  • 避开移相内卷:手把手推导DAB变频控制的传递函数,搞定PI参数设计
  • HCY71xx晨芯阳线性LED恒流驱动器芯片
  • 企业内网系统安全集成大模型API的密钥管理与审计方案
  • Log4j2漏洞深度复现:从JNDI注入原理到实战RCE利用
  • Vivado FPGA设计:基于IP核的系统级集成与高效开发实践
  • Perplexity字体资源查询失效全链路复盘(从OAuth2.1 Token续期失败→CDN字体包签名过期→浏览器字体回退策略失效)
  • 液压串联弹性驱动器融合的双足机器人运动控制方法【附算法】