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