前端技术回顾系列 11|TS 中一些实用概念

在微信中阅读,关注公众号:CodeFit

创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞分享关注 我的公众号:CodeFit,为我的持续创作提供动力。

上文回顾:泛型在类和接口中的应用

上一篇文章我们回顾了 泛型接口 中的应用。

通过使用泛型,我们可以创建 类型安全、灵活且可重用接口

比如,在类中使用泛型,可以确保队列等数据结构在处理不同类型的数据时仍然保持类型安全。

而在接口中使用泛型,则可以使接口更加灵活,能够接受多种类型。

类型别名、字面量类型和交叉类型

本文将回顾 TypeScript 中几个较为简单但非常实用的概念,包括 类型别名字面量类型交叉类型

这些概念在日常开发中可以提高代码的可读性和维护性。

大纲

  1. 类型别名(Type Aliases)
  2. 联合类型(Union Types)
  3. 字面量类型(Literal Types)
  4. 交叉类型(Intersection Types)
  5. 类型别名和接口的区别
  6. 总结

1. 类型别名(Type Aliases)

类型别名 允许我们为现有的类型设置一个 新的名称,这对于 简化代码提高可读性 非常有用。

特别是当一个类型较复杂且需要在多处使用时,类型别名 可以大大简化代码。

示例

假设我们有一个函数类型,接收两个 number 参数并返回一个 number,我们可以使用类型别名来简化其定义:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/353336.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux环境下Hadoop部署—Xshell6】解决“要继续使用此程序,您必须应用最新的更新或使用新版本。”

问题描述 打开xshell使用,弹出: 解决方案: 修改安装目录下面的 nsilense.dll 文件 用二进制编辑器(notepad的HEX-Editor插件)打开Xshell/Xftp安装目录下的 nslicense.dll。 HexEdit插件安装: 1.下载HexEdi…

springboot与flowable(7):流程变量

一、启动时添加流程变量 拿第一个流程图举例,创建一个新的流程定义。 Testvoid contextLoads() {DeploymentBuilder deployment repositoryService.createDeployment();deployment.addClasspathResource("process01/FirstFlow.bpmn20.xml");deployment.…

算法设计与分析 实验3 回溯法求地图填色问题

目录 一、实验目的 二、背景知识 三、实验内容 四、算法思想 未优化的回溯算法 节点选择-最小剩余值准则(MRV) 节点选择-最多约束准则(DH) 颜色选择-最少约束选择 数据结构的选择 向前探查 颜色轮换(贪心置…

专业技能篇---计算机网络篇

文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么?二、Http的状态码有哪些?三、 HTTP与HTTPS有什么区别?四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别?六、GET与POST 前言 主…

shell脚本之函数

一、1.函数:将命令序列按照固定的表达格式写在一起 2.函数作用:可以重复使用的命令序列,大的工程分割成若干个小块,依次执行,提高代码的可读性。 3.函数的两种格式 4.return作用:只能写在函数内部&#xff…

Facebook:数字时代的文化交流平台

在当今信息爆炸的数字时代,Facebook已经成为了一个不可或缺的社交媒体平台,不仅在个人生活中起到了联系社交的作用,更在全球范围内促进了文化交流和理解。本文将深入探讨Facebook作为文化交流平台的重要性,并分析其在数字时代如何…

个人博客测试用例设计

个人博客测试用例设计 个人博客测试用例 分别从功能、性能、安全、兼容及界面分别展开 个人博客测试用例

文库小程序搭建部署:实现资源共享正向反馈

文档库相信大家应该不陌生,日常我们的工作模板、会议模板、求职时的简历模板、教育界的教学模板等来源方式都出自于文档库,随着互联网的发展和工作需求,文档模板开启了新型的知识变现新途径,通过文库小程序,我们不仅能…

【ROS1转ROS2示例】

ROS1中的代码: 这是一个循环函数: ros::Rate loop_rate(10); // Adjust the publishing rate as neededwhile (ros::ok()){loop_rate.sleep();} 如果转ROS2,可以使用rclcpp::WallRate或者直接依赖于执行器(Executor)的循环来实现类似的功…

springboot3 基础特性(1)

文章目录 一、SpringApplication三种方式1.1 基础方式1.2.自定义 SpringApplication1.3、FluentBuilder API 二、自定义Banner三、Profiles3.1 什么是 Profiles ?3.2 声明Profiles3.3 激活配置文件3.3.1 分组3.3.2 环境包含3.3.3 激活方式3.3.4 配置优先级 一、Spri…

保姆级小白就业人工智能(视频+源码+笔记)

🍅我是小宋, Java学习AI,记录学习之旅。关注我,带你轻松过面试。提升简历亮点(14个demo) 🍅我的java面试合集已有12W 浏览量。🌏号:tutou123com。拉你进专属群。 ⭐⭐你的…

pip导出格式错乱问题

pip导出带有各种路径 pip只导出版本 pip list | tail -n 3 | awk {print $1""$2} > requirements.txt

进程间通信以及线程的同步互斥机制

1.进程间通信机制 常用的六种通信机制: 管道、消息队列、共享内存、信号灯集、信号、Socket 管道(Pipe)和无名管道(匿名管道): 管道是一种半双工的通信方式,数据只能单向流动,通常…

图神经网络入门(1)-networkx

简介 NetworkX是一个Python语言的图论建模工具,用于创建、操作复杂网络结构(如图、有向图等)。它提供了许多用于分析网络、生成随机网络、以及可视化网络的函数和工具。用户可以利用NetworkX来研究复杂网络的拓扑结构、节点间的关系以及路径查…

【ARMv8/ARMv9 硬件加速系列 2.4 -- ARM NEON Q寄存器与V寄存器的关系】

文章目录 Q 与 V 的关系向量寄存器 v 的使用赋值操作寄存器赋值总结Q 与 V 的关系 在ARMv8/v9架构中,v寄存器和q寄存器实际上是对相同的物理硬件资源的不同称呼,它们都是指向ARM的SIMD(单指令多数据)向量寄存器。这些寄存器用于高效执行向量和浮点运算,特别是在多媒体处理…

如何秒杀系统架构设计

原文路径:https://learn.lianglianglee.com/%e4%b8%93%e6%a0%8f/%e5%a6%82%e4%bd%95%e8%ae%be%e8%ae%a1%e4%b8%80%e4%b8%aa%e7%a7%92%e6%9d%80%e7%b3%bb%e7%bb%9f/00%20%e5%bc%80%e7%af%87%e8%af%8d%20%e7%a7%92%e6%9d%80%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84%e8%ae%be%e8%ae%…

四个步骤,帮你成为价值导向型项目经理

在企业数字化转型的浪潮下,项目管理的方向逐渐从任务导向转变为以价值交付为导向。在快速变化的市场环境中,仅仅关注项目任务的完成已不足以确保项目的成功,需要更加注重项目的最终成果和价值,确保项目能够为组织带来实际的价值和…

这个开源软件,送给爱读书的你!!【送源码】

对于喜欢阅读的人来说,一定经历过从一本厚厚的修仙书籍到MP3、MP4的阅读时代,再到现今的手机软件。 但是现在的阅读软件经常会遇见以下问题:比如广告弹窗太多,排版乱,甚至很多的APP都进入会员时代,再加上一…

数据安全未来之路,天空卫士荣誉领榜《中国数据安全50强(2024)》

《中国数据安全50强(2024)》 数世咨询首份《中国数据安全50强(2024)》报告发布。天空卫士凭借其卓越的技术创新、市场领导力、业务收入能力和企业发展能力,在众多竞争者中脱颖而出,荣登50强榜单&#xff0…

LogicFlow 学习笔记——8. LogicFlow 基础 事件 Event

事件 Event 当我们使用鼠标或其他方式与画布交互时,会触发对应的事件。通过监听这些事件,可以获取其在触发时所产生的数据,根据这些数据来实现需要的功能。详细可监听事件见事件API。 监听事件 lf实例上提供on方法支持监听事件。 lf.on(&…