interface Type {
length:number
}//定义接口
function getLength<T extends Type>(arg:T):number{
return arg.length
}
getLength("hello")
//定义函数,传入一个数组,返回一个数组,数组元素为传入数组的元素的类型
interface arrType{
name:string,
age:number
gender:string
}
function getArr<T extends arrType,O extends keyof T>(arr:T,key:O){
console.log(arr[key]);
}//此处定义了传入的数据必须要包含的属性,以及另一个参数必须得为对象中的属性名
// 调用函数
getArr({name:"小明",age:10,gender:"男"},'name')//小明