在使用函数的时候,可以使用 泛型使用**extentds来继承接口使用,在调用函数的时候,传递的参数必须包含这个接口的属性**

    1. interface inter {
    2. length:number
    3. }
    4. function fn<T extends inter>(a: T): number { //泛型继承接口
    5. return a.length
    6. }
    7. fn(10) //报错,因为10没有length属性
    8. fn('aa') //正常,因为aa是字符串,有length属性
    9. fn({name:'sss'}) //报错,因为这个对象没有length属性
    10. fn({length:10}) //正常,因为这个对象有length属性