ts泛型,函数返回类型为对象某个key值的类型

时间:2025-03-20 09:09:06

泛型是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。一直是ts学习中的一个重难点。

具体的学习资料还是看官网吧。这里出一个题目:

写一个函数,接受两个参数,一个为object,另一个为object中的一个key。函数返回类型指定为obj[key]的类型。

interface Person{
	name:string,
	age:number
}

function demo<T extends object, K extends keyof T>(obj:T, key:K){
	return obj[key]
}

//测试
let obj:Person={
 	 name:"tea",
 	 age:23
}
let age = demo(obj, "age")   // number类型
let name = demo(obj, "name")   // string类型