1. 程式人生 > 其它 >Typescript中的泛型

Typescript中的泛型

技術標籤:jstypescript

//泛型:就是解決類,介面,方法的複用性,以及對非特定資料型別的支援

//T表示泛型,具體什麼型別是呼叫這個方法的時候決定的

function getMsgs<T>(value:T): T { 
  return value;
}
getMsgs("主題")

//泛型類:比如有個最小推演算法,需要同時支援返回數字和字串型別,通過類的泛型來實現

class MinClass<T> { 
  public list: T[] = [];
  add(num: T) {
    this.list.push(num);
  }
  min(): T { 
      var minVal = this.list[0];
      for (var i = 0, leng = this.list.length; i < leng; i++) {
        if (minVal > this.list[i]) {
          minVal = this.list[i];
        }
      }
      return minVal;
  }
}
var m = new MinClass<number>();
m.add(36);
m.add(6);
m.add(8);
m.add(3);
console.log(m.min())
var m2 = new MinClass<string>();
m2.add("f");
m2.add("b");
m2.add("c");
m2.add("s");
console.log(m2.min())