1. 程式人生 > 實用技巧 >Typescript泛型

Typescript泛型

Typescript泛型

參考:https://www.tslang.cn/docs/handbook/generics.html

介紹

軟體工程中,我們不僅要建立一致的定義良好的API,同時也要考慮可重用性。元件不僅能夠支援當前的資料型別,同時也能支援未來的資料型別,這在建立大型系統時為你提供了十分靈活的功能。

function identity<T>(arg: T): T {
   return arg;
}

我們給identity添加了型別變數T。T幫助我們捕獲使用者傳入的型別(比如:number),之後我們就可以使用這個型別。之後我們再次使用了T當做返回值型別。

現在我們可以知道引數型別與返回值型別是相同的了。這允許我們跟蹤函式裡使用的型別的資訊。

我們把這個版本的identity函式叫做泛型,因為它可以適用於多個型別。不同於使用any,它不會丟失資訊。

我們定義了泛型函式後,可以用兩種方法使用。第一種是,傳入所有的引數,包含型別引數。

let output = identity<string>("myString"); // output的型別將是string