什么是 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 函数可以处理不同类型的数据,同时保持类型安全。
相关推荐
kk不中嘞14 小时前
浅谈前端框架
前端·vue.js·react.js·前端框架
服务端技术栈14 小时前
历时 1 个多月,我的第一个微信小程序「图片转 Excel」终于上线了!
前端·后端·微信小程序
一个很老的小萌新14 小时前
json 解析 [{“id“:1,“name“:“apple“},{“id“:2,“name“:“banana“}]
java·前端·json
yanlele14 小时前
前端面试第 78 期 - 2025.09.07 更新 Nginx 专题面试总结(12 道题)
前端·javascript·面试
影子信息15 小时前
el-tree 点击父节点无效,只能选中子节点
前端·javascript·vue.js
拜无忧15 小时前
完美圆角,渐变边框,兼容chrome 60,两层背景的视觉差
前端·css
徐小夕15 小时前
用Vue3写了一款协同文档编辑器,效果简直牛!
前端·javascript·vue.js
wangbing112515 小时前
界面规范8-文字
前端·javascript·html
盛夏绽放15 小时前
抽成独立组件库:微前端架构下公共组件共享的最佳实践
前端·有问必答
江拥羡橙15 小时前
【目录-单选】鸿蒙HarmonyOS开发者基础
前端·ui·华为·typescript·harmonyos