前端技术回顾系列 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.mzph.cn/diannao/27362.shtml

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

相关文章

动态规划-简单多状态dp问题 -- 按摩师

动态规划-简单多状态dp问题 – 按摩师 文章目录 动态规划-简单多状态dp问题 -- 按摩师题目重现算法流程示例代码 题目重现 题目链接:按摩师 - 力扣 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时…

IINA for Mac v1.3.5 音视频软件 安装教程(保姆级)

Mac分享吧 文章目录 效果一、准备工作二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试1、打开软件,测试2、查看版本号 **安装完成!&#xf…

C#——结构体详情

结构体 结构体也被称为结构类型(“structure type”或“struct type”),它是一种可封装数据和相关功能的值类型,在语法上结构体与类(class)非常相似,它们都可以用来封装数据,并且都…

【C语言】递归复杂度与链表OJ之双指针

【C语言】递归复杂度与链表OJ之双指针 🔥个人主页:大白的编程日记 🔥专栏:数据结构 文章目录 【C语言】递归复杂度与链表OJ之双指针前言一.递归复杂度1.1递归时间复杂度1.2递归空间复杂度 二.链表OJ之双指针2.1倒数第K个节点2.2链…

FastJson与JackSon 的碰撞。服务发送方与服务接收方字段不一致问题

情景再现 对接文档人家要求字段为 于是乎 咱就在服务的发送方定义参数字段为 服务接收方接收的类型为 later。。。。。 服务接收方接收到的参数字段 就不变成了fOrgId。跟外部系统对接就提示参数错误 原因 :lombok 在做set get的时候自动 无论你字段的首字母是大…

我与Python的一夜情

期末突击看这篇才够味! 环境搭建 首先就是相关工具的安装,直接搜就好,但是还是贴个网址吧: Welcome to Python.orghttps://www.python.org/ 然后就是根据自己的系统选择咯: 谁能闲来无事送我个mac玩玩 Windows的一…

哈喽GPT-4o——对GPT-4o 写论文的思考与看法

目录 几小时即可完成一份1万字论文的编写1、改写降重2、同义词替换降重3、避免连续相同4、缩写扩写降重5、关键词汇替换降重6、句式变换降重7、逻辑重组8、综合改写9、数据呈现方式变更10、概念解释降重 大家好,我是哪吒。 在ChatGPT4o对话框中输入:写一…

遥控玩具车电机驱动应用中的双H桥驱动芯片

遥控玩具车的基本工作原理是通过无线电遥控器发送信号,这些信号被玩具车内的接收器接收并解码,从而控制玩具车的运行。根据车身外型的不同,可以分为:普通的私家房车、越野车、货柜车、翻斗车等等。遥控器的操作,如前进…

测试 halcon measure_projection 算子

期望结果完全相同,但是下面的测试结果和halcon的差值如下: [0.132838, 0.231991, 0.265157, 0.296903, 0.0998573, 0.165907, 0.230686, 0.130266, 0.0977104, 0.197109, 0.198173, 0.197086, 0.190943, 0.177665, 0.163521, 0.146541, 0.161362, 0.166666, 0.2281…

NG32031单片机串口初始化

目录 1. 串口基础 2. 串口配置步骤 3. N32G031串口初始化示例 3.1开启时钟 3.2 配置GPIO 3.3 配置USART 3.4 使能中断(如果需要) 3.5. 示例代码 4. 调试和验证 5. 注意事项 6. 额外功能 NG32G031单片机的串口(UART)通常…

理解Python的元类

1.type()函数 type 函数是一个内置函数,用来获取一个对象的类型。它可以接受一个参数,返回这个参数的数据类型。type也可以用来创建类,type就是元类 x333 list["ab"] tuple (1, "a", True, 3.14) dict {name: Alice,…

这4款国产软件,因为太良心好用,甚至被误认为是外国人开发的

说起国产软件,大家总是容易给它们打上“流氓、要钱、广告满天飞”的标签,其实,有些小众的软件超级好用,功能强大又不耍流氓,真心不该被一棍子打死。 1、sunlight studio Sunlight Studio是一个开源、免费、无广告的硬…

从云端到终端:青犀视频汇聚/融合平台的视频接入方式与场景应用

一、青犀视频汇聚/融合平台 由TSINGSEE青犀视频研发的EasyCVR智能融合/视频汇聚平台基于“云-边-端”一体化架构,支持视频汇聚、融合管理,兼容多协议(GA/T1400/GB28181/Onvif/RTSP/RTMP/海康SDK/Ehome/大华SDK/宇视SDK等)、多类型…

你的职业规划就是面向贫穷的规划

如果你觉得作者的文章还有点用,请记得点赞 + 关注 说一个扎心的事实,就是我们绝大多数人的职业规划基本上都是错误的,都是面向贫穷的规划。 因为绝大多数人的职业规划都是打工人的职业规划,这种规划除了很少部分人最终能成为企业高管,实现层级跃迁外,绝大多数人在大多数…

Java17 --- RabbitMQ之常规使用

目录 一、实现消息可靠性投递 1.1、消息生产者端确认机制 1.2、备份交换机 1.3、消费端确认机制 二、消费端限流设置 三、消息超时设置 3.1、从队列设置全局超时时间 3.2、设置消息本身超时时间 四、死信 4.1、消费端拒绝接收消息 4.1.1、创建死信交换机与队列 …

LangChain入门学习笔记(一)——Hello World

什么是LangChain LangChain是一个开源(github repo)的大语言模型应用开发框架,提供了一整套的工具、方法和接口去帮助程序员构建基于大语言模型的端到端应用。LangChain是长链(long chain)的意思,它的一个…

Linux驱动开发笔记(八)输入子系统

文章目录 前言一、输入子系统1. 子系统的引入2. 组成部分3. 事件处理流程4. 相关数据结构 二、程序编写1. 相关API函数1.1 input_allocate_device ( )1.2 input_free_device ( )1.3 input_register_device ( )1.4 input_unregister_device ( )1.5 input_event ( )1.6 input_rep…

Prometheus写入influxDB:中间件remote_storage_adapter

Prometheus写入influxDB:中间件remote_storage_adapter prometheus默认采用的是本地磁盘做数据存储,本地存储的优势就是运维简单但是缺点就是无法海量的metrics持久化和数据存在丢失的风险,数据写入可能造成wal文件损坏导致采集数据无法再写入的问题。 …

【嵌入式DIY实例】-Nokia 5110显示DS18B20传感器数据

Nokia 5110显示DS18B20传感器数据 文章目录 Nokia 5110显示DS18B20传感器数据1、硬件准备2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS18B20 数字温度传感器实现简单的温度测量站。 NodeMCU 微控制器 (ESP8266EX) 从 DS18B20 传感器读取温度值,并将其打印在诺基亚 …

Nginx部署Vue项目css文件能加载但是不生效

目录 问题描述问题解决 问题描述 Nginx部署打包后的Vue项目css文件能加载但是不生效, 问题解决 查看响应标头,发现不对劲, Content-Type: text/plain正确的应该是 Content-Type: text/css根本原因是nginx没有告诉浏览器正确的文件类型 所…