zoukankan      html  css  js  c++  java
  • ts中的泛型

    /**
    * 泛型:软件工程中,我们不仅要创造定义良好的API,同时也要考虑可重用行,组件不仅能
    * 够支持当前的数据类型,同时也能够支持未来数据类型。
    * 通俗理解:泛型就是解决类、接口、方法的复用性以及对不特定类型的数据的支持
    *
    */
    function getDate<T>(value:T):T {
      return value;
    }
    getDate<number>(123);
    getDate<string>('123');
    // 类的泛型
    class minclass<T> {
      list:T[] = [];
      add(value:T):void {
        this.list.push(value);
      }
      min():T {
        return this.list[0];
      }
    }
    var minMy = new minclass<number>();
    //函数类泛型接口
    interface ConFn {
      <T>(value1:T,value2:T):T
    }
    var myFn:ConFn = function<T>(value:T):T {
      return value;
    }
    // 类作为参数来约束传入数据的合法性
    class Artic {
      title: string | undefined;
      desc: string|undefined;
      status:number | undefined;
      constructor(params:{
        title: string | undefined,
        desc: string|undefined,
        status?:number | undefined,
      }){

      }
    }
    class MySQLdb<T>{
      add(info:T):boolean{
        return true;
      }
    }
    var a = new Artic({
      desc: '123',
      status: 123,
      title: '123'
    });
    var b = new MySQLdb<Artic>();
    b.add(a);
  • 相关阅读:
    syslog命令
    linux命令 info
    Alibaba(阿里) RocketMQ入门实例
    java基础-学java util类库总结
    java 23种设计模式教程
    Linux
    Scrapy框架
    MongoDB的安装与使用
    爬虫小案例——爬取天猫
    爬虫小案例——爬取豆瓣电影
  • 原文地址:https://www.cnblogs.com/windcat/p/11747539.html
Copyright © 2011-2022 走看看