typescript学习(四)——泛型

2023-11-12

泛型

泛型:软件工程中,不仅要创建一致的定义良好的API,同时也要考虑可重用性,组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时提供了十分灵活的功能。

在像c#和java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据,这样用户就能用自己的数据类型来使用组件。

所以,泛型是解决类、接口、方法的复用性,以及对不特定数据类型的支持。

泛型函数

// 普通的对不同类型函数的实现
// 对每个类型都实现一遍函数 或 用any数据类型
function getDate(value:any):any {
   }
// 缺点:any放弃了类型检查,且对要求传入什么,返回什么的情况不可以
// 因为使用any就说明传入的参数类型和返回的参数类型可以不一致

// 泛型可以支持不特定的数据类型
// T 表示泛型,具体什么类型是调用这个方法时决定的
// 1. 传入什么,返回什么
function getDate<T>(value:T):T {
   
	return value;
}
getDate<number>(123)	// 正确
getDate<string>('123')	// 错误

// 2. 用any表示可以返回任意类型
function getDate
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

typescript学习(四)——泛型 的相关文章

随机推荐

  • 解决Debian 11系统缺少无线网卡固件rtl8192cfw.bin

    解决Debian 11系统缺少无线网卡固件rtl8192cfw bin 一 先简单介绍解决办法 rtlwifi rtl8192cfw bin 是无线网卡的固件 其实缺少它网卡也是可以用的 只是不知道是不是这个原因导致丢包频繁 在CSDN找到
  • java 前缀树的实现,敏感词的匹配和标记

    目录 一 前缀树的介绍和定义 1 前缀树的定义 2 前缀树的结构 二 前缀树的实现 1 向前缀树中增加词语 2 向前缀树中删除词语 3 对于使用前缀树进行词语标识 4 前缀树的实现代码 三 前缀树使用及测试 1 向前缀树上增加词语 2 根据
  • 【计算机视觉

    文章目录 一 检测相关 13篇 1 1 Polygon Intersection over Union Loss for Viewpoint Agnostic Monocular 3D Vehicle Detection 1 2 Radar
  • c++ 和cuda混合编程 VS2015 C++ 调用 cuda

    1 新建一个C 项目 2 右键添加一个cuda C C file 3 添加下面 lib 库 右键项目 gt 属性 gt 链接器 gt 输入 gt 附加依赖项目 cudart static lib kernel32 lib user32 li
  • S3C2440之PWM

    include uart h include stdlib h MS延时 void delay unsigned int time unsigned int i j for i 0 i
  • python通过ssl加密连接mysql

    目录 1 django程序的配置 2 pymysql连接数据库 3 DBUtils数据库连接池连接配置 我们在连接某些数据库时 需要提供ssl证书 如果是IT的数据库 那么可能会提供下载 如果是自己想做 可参考如下步骤 https dev
  • 基于Docker搭建Redis7.0主从哨兵集群高可用模式

    Docker搭建Redis主从哨兵模式 本文基于docker compose Redis7 0版本搭建Redis1主2从3哨兵高可用集群 不同版本redis配置文件略有差异 请参考官方文档Github地址与Redis官网地址 如下图可以看出
  • 微信怎么发匿名消息 微信发匿名消息方法【详解】

    很多小伙伴加了微信好友后 有些话难以说出口 想给对方发送一些匿名消息 掩盖自己的身份 保护个人隐私 这要怎么做呢 小编今天就为大家支个招 轻松搞定匿名消息设置方法 赶紧来看看吧 微信怎么发匿名消息 1 打开微信 搜索 匿名的信 点击进入匿名
  • 评测:对接GPT-4的NewBing使用体验变化

    GPT 4是OpenAI发布的最新一代语言模型 于2023年3月14日正式发布 并通过API和ChatGPT Plus平台向用户开放 微软也证实 在GPT 4正式发布之前 就已经在部分版本的Bing中使用GPT 4技术 本文旨在对使用GPT
  • 华为OD机试真题 Java 实现【寻找符合要求的最长子串】【2023Q1 200分】

    一 题目描述 给定一个字符串 s 找出这样一个子串 该子串中的任意一个字符最多出现2次 该子串不包含指定某个字符 请你找出满足该条件的最长子串的长度 二 输入描述 第一行为要求不包含的指定字符 为单个字符 取值范围 0 9a zA Z 第二
  • 在ubuntu上安装qt

    1 登录VM 上网下载Qt 保存路径一般在下载文件夹 可以下载后放到自定义文件夹 2 下载完成后 cd到保存文件的文件夹 并执行命令 sudo chmod a x qt opensource linux x64 5 9 run 将文件改变成
  • 数据结构进阶(一)

    更多内容可以访问我的个人博客 1 二叉查找树 参考 深入学习理解二叉搜索树 附详细讲解与实例分析 1 1 基本概念 二叉查找树 也称二叉搜索树 或二叉排序树 其要么是一颗空树 要么就是具有如下性质的二叉树 1 若任意节点的左子树不空 则左子
  • FPGA编程入门:Quartus II 设计1位全加器

    FPGA编程入门 Quartus II 设计1位全加器 一 半加器和1位全加器原理 一 半加器 二 1位全加器 二 实验目的 三 Quartus II设计半加器 一 新建工程 二 创建原理图 三 将设计项目设置成可调用的元件 四 半加器仿真
  • Centos 下安装使⽤ Memcache

    1 美图 2 安装 在 Centos 下安装使 用 yum 命令安装 Memcache 非常简单 yum install y memcached 启动 usr bin memcached b p 11211 m 150 u root gt
  • Linux-getopt命令详解

    getopt命令记录 简介 格式说明 要点 使用 简介 getopt命令可以接受一系列任意形式的命令行选项和参数 并自动将它们转换成适当的格式 格式说明 getopt三种使用方式 第一种 无法处理带有空格的参数 getopt optstri
  • c++void函数如何返回处理结果

    文章目录 一 void函数 二 void函数通过引用和指针返回处理结果 一 void函数 void在函数和变量中的含义详解 void表示无类型的意思 无类型可以包容有类型 可以用其定义的函数获得各种想要输出的数据类型 比如各个视觉库自定义的
  • java流

    java流 字节流 fr new FileReader E javaTxt adc txt fw new FileWriter E javaTxt adc txt 字符流 fis new FileInputStream E javaTxt
  • .gitignore文件不生效解决方法

    创建git仓库 忘记创建 gitignore 文件 导致提交的时候检测出一堆 DS Store node modules 等无需提交的文件 这个时候添加 gitignore 文件 如果是还没有提交 重新打开下编辑器就好了 编辑器是VS Co
  • Java 集合根据条件进行拆分

    创建测试集合 List
  • typescript学习(四)——泛型

    泛型 泛型 软件工程中 不仅要创建一致的定义良好的API 同时也要考虑可重用性 组件不仅能够支持当前的数据类型 同时也能支持未来的数据类型 这在创建大型系统时提供了十分灵活的功能 在像c 和java这样的语言中 可以使用泛型来创建可重用的组