什么是 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 函数可以处理不同类型的数据,同时保持类型安全。
相关推荐
Mintopia18 分钟前
Three.js 滚动条 3D 视差动画原理解析
前端·javascript·three.js
啃火龙果的兔子22 分钟前
在 React 中根据数值动态设置 SVG 线条粗细
前端·react.js·前端框架
蓝乐1 小时前
Angular项目IOS16.1.1设备页面空白问题
前端·javascript·angular.js
归于尽1 小时前
揭秘:TypeScript 类型系统是如何给代码穿上 “防弹衣” 的
前端·typescript
today喝咖啡了吗1 小时前
uniapp 动态控制横屏(APP 端)
前端·javascript·uni-app
Carolinemy1 小时前
VSCode 中AI代码补全插件推荐
前端·visual studio code
Sapphire~1 小时前
重学前端007 --- CSS 排版
前端
G018_star sky♬1 小时前
Syntax Error: Error: PostCSS received undefined instead of CSS string
前端·css·postcss
泉城老铁1 小时前
Spring Boot + Vue 实现 DeepSeek 对话效果详细步骤
前端·vue.js·后端
忠实米线1 小时前
分享一个css的吸附效果scroll-snap-type
前端·css