ts泛型,函數返回類型爲對象某個key值的類型

泛型是指在定義函數、接口或類的時候,不預先指定具體的類型,而在使用的時候再指定類型的一種特性。一直是ts學習中的一個重難點。

具體的學習資料還是看官網吧。這裏出一個題目:

寫一個函數,接受兩個參數,一個爲object,另一個爲object中的一個key。函數返回類型指定爲obj[key]的類型。

interface Person{
	name:string,
	age:number
}

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

//測試
let obj:Person={
 	 name:"tea",
 	 age:23
}
let age = demo(obj, "age")   // number類型
let name = demo(obj, "name")   // string類型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章