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
相关推荐
敲敲了个代码12 分钟前
从硬编码到 Schema 推断:前端表单开发的工程化转型
前端·javascript·vue.js·学习·面试·职场和发展·前端框架
张雨zy1 小时前
Pinia 与 TypeScript 完美搭配:Vue 应用状态管理新选择
vue.js·ubuntu·typescript
dly_blog2 小时前
Vue 响应式陷阱与解决方案(第19节)
前端·javascript·vue.js
消失的旧时光-19432 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
console.log('npc')2 小时前
Table,vue3在父组件调用子组件columns列的方法展示弹窗文件预览效果
前端·javascript·vue.js
用户47949283569152 小时前
React Hooks 的“天条”:为啥绝对不能写在 if 语句里?
前端·react.js
我命由我123453 小时前
SVG - SVG 引入(SVG 概述、SVG 基本使用、SVG 使用 CSS、SVG 使用 JavaScript、SVG 实例实操)
开发语言·前端·javascript·css·学习·ecmascript·学习方法
用户47949283569153 小时前
给客户做私有化部署,我是如何优雅搞定 NPM 依赖管理的?
前端·后端·程序员
C_心欲无痕3 小时前
vue3 - markRaw标记为非响应式对象
前端·javascript·vue.js
qingyun9893 小时前
深度优先遍历:JavaScript递归查找树形数据结构中的节点标签
前端·javascript·数据结构