123456789101112131415161718192021222324252627282930313233343536373839404142 |
- (function() {
- // function fn1(name:string):string {
- // return name;
- // }
- // function fn2(name:any):any {
- // return name;
- // }
- // 泛型:先用字符去指代未知类型 使用时传入具体类型
- function fn3<T>(name:T):T {
- return name;
- }
- fn3(12); //若传入时 未直接指出类型 则ts默认解析传入类型
- fn3<string>("12"); // 若传入是 直接指出类型 将类型写在<>内
- // 传入多个值
- function fn4<T,W>(a:T,b:W):[T,W] {
- return [a,b];
- }
- fn4<string,boolean>("11",true);
- // 接口
- 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);
- })()
|