Typescript 多个泛型参数详细解读

多个泛型参数的函数 : 函数中有多个泛型的参数。

示例:

TypeScript 复制代码
(() => {

  function getMsg<K, V>(value1: K, value2: V): [K, V] {
    return [value1, value2]
  }

  const arr1 = getMsg<string,number>('jack',100.2345)
  console.log(arr1[0].split(''))
  console.log(arr1[1].toFixed(1))  //调用 toFixed(1) 方法将数字四舍五入保留一位小数
})()

以上代码详细解读:

  • function getMsg<K, V>(value1: K, value2: V): [K, V]
    • getMsg 是函数名。
    • <K, V>是类型参数列表,这里定义了两个类型变量 KV。泛型允许函数在定义时不指定具体的类型,而是在调用时再确定。
    • (value1: K, value2: V) 表示函数接受两个参数 value1value2,**value1的类型是 Kvalue2**的类型是 V
    • **: [K, V]**是函数的返回值类型,表示函数返回一个包含两个元素的元组,第一个元素的类型是 K,第二个元素的类型是 V
  • return [value1, value2]:函数体部分,通过返回一个包含 value1 和 **value2**的数组来实现返回元组的功能。
  • const arr1 = getMsg<string, number>('jack', 100.2345) :调用 getMsg 函数,明确指定类型参数 KstringVnumber。传入的参数 'jack' 是字符串类型,100.2345 是数字类型。函数返回一个元组 ['jack', 100.2345],并将其赋值给常量 arr1
  • console.log(arr1[0].split('')):访问 arr1 的第一个元素(即字符串 'jack'),调用 split('') 方法将字符串拆分成字符数组,然后将结果打印到控制台。这里会输出 ["j", "a", "c", "k"]
  • console.log(arr1[1].toFixed(1))访问 arr1 的第二个元素(即数字 100.2345),调用toFixed(1)方法将数字四舍五入保留一位小数,然后将结果打印到控制台。这里会输出 100.2
相关推荐
ZPC82103 小时前
如何创建一个单例类 (Singleton)
开发语言·前端·人工智能
紫_龙4 小时前
最新版vue3+TypeScript开发入门到实战教程之重要详解readonly/shallowReadOnly
前端·javascript·typescript
roamingcode5 小时前
前端 AI Agent 多智能体协作架构:从对抗式排查到工作流解耦
前端·人工智能·架构·agent·team
蓝莓味的口香糖6 小时前
【vue】初始化 Vue 项目
前端·javascript·vue.js
aikongmeng6 小时前
【Ai】Claude Code 初始化引导
javascript
光影少年7 小时前
数组去重方法
开发语言·前端·javascript
我命由我123457 小时前
浏览器的 JS 模块化支持观察记录
开发语言·前端·javascript·css·html·ecmascript·html5
weixin_443478517 小时前
Flutter第三方常用组件包之路由管理
前端·javascript·flutter
武藤一雄7 小时前
C# 异步回调与等待机制
前端·microsoft·设计模式·微软·c#·.netcore
啥都不懂的小小白7 小时前
前端CSS入门详解
前端·css