zoukankan      html  css  js  c++  java
  • TypeScript学习笔记-泛型

    /**
     * 
     * 泛型的基本表示方法
     */
    function fn<T>(prop:T):T{
      return prop;
    }
    //调用
    let output=fn<string>('string');
    //同样可以利用类型推论来判断类型
    let output2=fn('string');
    //返回类型为T的数组
    function array<T>(prop:T[]) : T[]{
      console.log(prop.length);
      return prop;
    }
    
    /**
     * 泛型类型
     * ???泛型接口
     */
    let f: <U>(args:U) => U = fn
    //使用对象字面量调用
    let o:{<U>(args:U):U} = fn
    
    /**
     * 泛型类
     */
    class GenericNumber<T>{
      zeroValue:T;
      add:(x:T,Y:T) => T;
    }
    
    let myGenericNumber=new GenericNumber<number>();
    
    myGenericNumber.zeroValue=0;
    myGenericNumber.add=function(x:number,y:number){
      return x+y;
    }
    
    /**
     * 泛型约束
     */
    interface lengthWise{
      length:number;
    }
    
    function loggingIdentity<T extends lengthWise>(args:T):T{
      return args;
    }
    /**
     * 泛型中使用类类型
     * ???
     */
    
     function create<T>(c:{new():T}):T{
       return new c();
     }
  • 相关阅读:
    CSS
    表单
    框架
    表格
    列表
    定位--position属性
    浮动
    选择结构
    数组
    TextView(标签控件)
  • 原文地址:https://www.cnblogs.com/goOtter/p/9765836.html
Copyright © 2011-2022 走看看