什么是 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 函数可以处理不同类型的数据,同时保持类型安全。
相关推荐
wearegogog12320 小时前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars20 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤20 小时前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·20 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°20 小时前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
qq_4198540521 小时前
CSS动效
前端·javascript·css
烛阴21 小时前
3D字体TextGeometry
前端·webgl·three.js
桜吹雪21 小时前
markstream-vue实战踩坑笔记
前端
C_心欲无痕1 天前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
花哥码天下1 天前
恢复网站console.log的脚本
前端·javascript·vue.js