在使用函数的时候,可以使用 泛型使用**extentds来继承接口使用,在调用函数的时候,传递的参数必须包含这个接口的属性**
interface inter {
length:number
}
function fn<T extends inter>(a: T): number { //泛型继承接口
return a.length
}
fn(10) //报错,因为10没有length属性
fn('aa') //正常,因为aa是字符串,有length属性
fn({name:'sss'}) //报错,因为这个对象没有length属性
fn({length:10}) //正常,因为这个对象有length属性