1 //函数类型接口 2 3 /* 4 interface ConfigFn{ 5 6 (value1:string,value2:string):string; 7 } 8 9 10 var setData:ConfigFn=function(value1:string,value2:string):string{ 11 12 13 return value1+value2; 14 } 15 16 17 setData('name','张三'); 18 */ 19 20 21 22 23 //1、泛型接口 24 25 // interface ConfigFn{ 26 27 // <T>(value:T):T; 28 // } 29 30 31 // var getData:ConfigFn=function<T>(value:T):T{ 32 33 // return value; 34 // } 35 36 37 // // getData<string>('张三'); 38 39 40 // // getData<string>(1243); //错误 41 42 43 //2、泛型接口 44 45 46 47 interface ConfigFn<T>{ 48 (value:T):T; 49 } 50 51 52 function getData<T>(value:T):T{ 53 54 return value; 55 } 56 57 58 var myGetData:ConfigFn<string>=getData; 59 60 61 myGetData('20'); /*正确*/ 62 63 64 // myGetData(20) //错误