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>
是类型参数列表,这里定义了两个类型变量K
和V
。泛型允许函数在定义时不指定具体的类型,而是在调用时再确定。(value1: K, value2: V)
表示函数接受两个参数value1
和value2
,value1
的类型是K
,value2
的类型是V
。: [K, V]
是函数的返回值类型,表示函数返回一个包含两个元素的元组,第一个元素的类型是K
,第二个元素的类型是V
。
return [value1, value2]
:函数体部分,通过返回一个包含value1
和value2
的数组来实现返回元组的功能。const arr1 = getMsg<string, number>('jack', 100.2345)
:调用getMsg
函数,明确指定类型参数K
为string
,V
为number
。传入的参数'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
。