(function(){ // function fn1(name:string):string { // return name; // } // fn1("嗷嗷") // function fn2(name:any):any { // return name; // } // return break/continue 传参 // 泛型:先用字符去指代未知类型 使用时传入具体的值 function fn3(num:T):T { return num; } fn3(12);//若传入时 未直接指出类型 则ts默认解析传入类型 fn3("你好"); //若传入时 直接指出类型 将类型写在<>内 // 传入多个值 function fn4(a:T,b:W):[T,W] { return [a,b]; } fn4("10",false); // 接口 interface happy { jump:string; } // 若函数中 泛型继承接口 则传入的值必须符合接口的条件 function fn5(a:T):T { return a; } fn5({jump:'0'}); // 若类中 泛型继承接口 则传入的值必须符合接口的条件 class Ending { name: T; constructor(name:T) { this.name = name; } } let end = new Ending({jump:'哈哈'}) console.log(end,'end') })()