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

Typescript中的泛型

可以把泛型想象成 "类型的变量":

1.定义时,用<T>声明一个类型变量(T 是约定的名称,也可以用其他字母)

2.使用时,指定具体类型,如identity<string>("hello")

3.TypeScript 通常能自动推断类型,所以也可以简写为identity("hello")

泛型的应用场景

一、函数泛型:

function getFirstElement<T>(array: T[]): T {return array[0];
}// 使用时可以指定类型,也可以让TS自动推断
const num = getFirstElement<number>([1, 2, 3]); // number类型
const str = getFirstElement(["a", "b", "c"]); // string类型

二、接口泛型:

interface Box<T> {value: T;
}const numberBox: Box<number> = { value: 10 };
const stringBox: Box<string> = { value: "hello" };

三、类泛型:

class Container<T> {private value: T;constructor(value: T) {this.value = value;}getValue(): T {return this.value;}
}const numberContainer = new Container(100);
const stringContainer = new Container("test");

泛型的核心价值

  1. 类型安全:保持类型信息,编译器能提供类型检查
  2. 代码复用:一个组件可以处理多种类型
  3. 可读性:明确代码的意图,让使用者知道类型之间的关系
http://www.wxhsa.cn/company.asp?id=2313

相关文章:

  • windows软件入门指南
  • LLM 生成代码执行代码
  • 网络爬虫(web crawler) - 指南
  • css样式与选择器
  • 水库运行综合管理平台
  • Nginx配置文件介绍
  • 《提问的艺术》笔记:(2025/9/12)
  • 各模态优势(可见光保留细节纹理,红外突出目标)
  • 复习vue
  • 眼下硬件是足够用的,最大的问题还是AI模型本身的能力不太够。没办法让硬件真正用起来,比如AI难以很好地控制灵巧手
  • 深入理解C语言---函数
  • Ubuntu 点击任务栏应用程序最小化
  • Agent Sudo | Writeup | TryHackMe
  • UT_HASH
  • 使用helm安装APISIX
  • 决策单调性
  • 2025 国内 HR SaaS 系统深度分析:Moka 引领 AI 变革
  • 学生信息管理系统案例初步分析报告
  • Billu靶场
  • 初识pyhton:一些基础的知识(文件)
  • 实用指南:Git分支管理:从创建到合并冲突解决(二)
  • 20250912
  • [ARC198C] Error Swap
  • 配置win10、linux虚拟机ip
  • 【正则表达式初探】grep 命令避免匹配自身
  • 测试工程师的核心竞争力是什么?绝不是点点点
  • 关于 ECT-OS-JiuHuaShan 框架的终极阐释
  • 向“光”而行 | 相聚2025 ASML中国日,携手奔赴“芯”辰大海
  • JavaDay3
  • U3D动作游戏开发读书笔记--2.2 编辑器本身的基础知识