什么是 TypeScript 中的泛型?请给出一个使用泛型的示例。

泛型(Generics)是 TypeScript 中的一种高级特性,允许你在定义函数、接口或类时,指定一个或多个类型参数。

这些类型参数在使用时会被具体的类型替换,从而使代码更具通用性和复用性。

  • 示例: 假设你有一个函数,用于从数组中获取一个元素,但你希望这个函数能够处理不同类型的数据。可以使用泛型来实现:

    typescript 复制代码
    function getElement<T>(array: T[], index: number): T {
      return array[index];
    }
    
    const numbers = [1, 2, 3, 4, 5];
    const number = getElement(numbers, 2); // number 的类型是 number
    
    const strings = ['a', 'b', 'c', 'd', 'e'];
    const string = getElement(strings, 1); // string 的类型是 string
  • 解释:

    • 在函数定义中,<T> 表示一个类型参数,T 可以被任何类型替换。
    • 当调用 getElement 函数时,TypeScript 会根据传入的数组类型自动推断 T 的具体类型。
    • 使用泛型后,getElement 函数可以处理不同类型的数据,同时保持类型安全。
相关推荐
陈随易6 分钟前
副业搞钱点子之独立开发
前端·后端·程序员
console.log('npc')16 分钟前
问题跟踪与知识沉淀:从任务到知识的闭环)
前端·javascript·人工智能
恋猫de小郭34 分钟前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
计算机魔术师36 分钟前
Reddit 宣布转向以登录为主的体验,以应对 AI 搜索带来的流量下滑
前端
熊猫钓鱼>_>36 分钟前
上架审核常见驳回与隐私合规清单:过审前先自查这 8 条【鸿蒙心迹】
开发语言·前端·华为·华为云·harmonyos·openharmony·ai制作
missile11137 分钟前
# HDR 算法 ISP 通路客制化方案(G100 / mt6789)
java·前端·javascript
全栈陈序员1 小时前
【Python】基础语法入门(三十)—— Web 开发入门:用 Flask 搭建第一个网站
前端·python·flask
万少1 小时前
Harmony 7.0 这个skill帮你自动化操作AGC
前端·javascript·后端
小大宇1 小时前
Vue知识点-ElementPlus-02图标
前端·javascript·vue.js
简简单单就是我_hehe1 小时前
一次 ClickHouse 服务器磁盘告警的排查与修复实录
java·服务器·前端