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;
        } 

猜你喜欢

转载自blog.csdn.net/u014527697/article/details/80958364