TypeScript 泛型介面和泛型類

admin發表於2018-07-30

TypeScript種,可以在介面和類中應用泛型,下面分別做一下介紹。

一.介面中應用泛型:

[typescript] 純文字檢視 複製程式碼
interface GenericIdentityFn {
  <T>(arg: T): T;
}
function identity<T>(arg: T): T {
  return arg;
}
let myIdentity: GenericIdentityFn = identity;

上面介面的應用和普通函式介面區別很小,只是在函式前面新增了泛型型別變數<T>。

[typescript] 純文字檢視 複製程式碼
interface GenericIdentityFn<T> {
  (arg: T): T;
}
function identity<T>(arg: T): T {
  return arg;
}
let myIdentity: GenericIdentityFn<number> = identity;

上面的程式碼將泛型引數當做介面的一個引數傳遞,這樣介面的應用就更加靈活。

二.泛型類:

泛型類與泛型介面非常類似,程式碼例項如下:

[typescript] 純文字檢視 複製程式碼
class Antzone<T> {
  webName: T;
}
let antzone = new Antzone<string>();
antzone.webName = "螞蟻部落";

在類名稱後面傳遞泛型型別引數。

特別說明: 泛型類指的是例項部分的型別,類的靜態屬性不能使用這個泛型型別。

相關文章