Typescript:泛型

       使用泛型可以来创建可重用的组件,一个组件可以支持多种类型的数据。泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验)

       泛型:可以支持任意的数据类型

// T表示泛型,具体什么类型是调用这个方法的时候决定的,可以用任意字母表示,但是3个地方要一致
//getData<T>表示泛型方法。
//(value:T):T 参数是任意类型,返回值是任意类型
       function getData<T>(value:T):T{//传入什么类型,返回什么类型
           return value;
       }
          getData<string>('1214231')
  function getData<T>(value:T):any{//返回任意类型
           return '2145214214';
        }
       getData<number>(123);  //参数必须是number
       getData<string>('这是一个泛型');
泛型类
//类的泛型
class Addnum<T>{
    public list:T[]=[];
    add(value:T):void{
        this.list.push(value);
    }
}
var m1=new Addnum<number>();   /*实例化类 并且指定了类的T代表的类型是number*/
m1.add(11);

泛型接口

//函数类型接口
interface ConfigFn{
            (value1:string,value2:string):string;
        }
 var setData:ConfigFn=function(value1:string,value2:string):string{
            return value1+value2;
        }

//泛型函数类型接口
        interface ConfigFn{
            <T>(value:T):T;
        }
 var getData:ConfigFn=function<T>(value:T):T{
             return value;
         }
//泛型接口
        interface ConfigFn<T>{
            (value:T):T;
        }
        var myGetData:ConfigFn<string>= function getData<T>(value:T):T{
            return value;
        } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值