Typescript之 範型

範型

typescriptjavascript基礎上擴充了類型,而且能夠進行靜態類型檢查。它在某種成都上限制javascript的靈活性,可是這種限制是必要的,在類型體系內提供靈活性,纔是可控的。範型在類型系統的體系內,給程序提供了靈活性,避免去寫除了類型不一樣其餘都相同的代碼.範型能夠表明任意的類型,這個範圍太大了,有時侯咱們但願縮小它表明的範圍,還能夠對它添加約束javascript

適用範圍

  • 函數
  • 接口
  • 別名

範型函數

function identity(arg: number): number {
    return arg;
}
function identity(arg: any): any {
    return arg;
}

// 適用範型
function identity<T>(arg: T): T {
    return arg;
}

const identify =<T>(arg:T):T =>{ return arg};

複製代碼

形式上在函數括號前加上<T>java

範型接口

interface GenericIdentityFn<T> {
    (arg: T): T;
}
複製代碼

形式上 接口名後面加上<T>typescript

範型類

class GenericNumber<T> {
    zeroValue: T;
    add: (x: T, y: T) => T;
}

複製代碼

形式上 在類名後面加上<T>ide

別名

type Container<T> = { value: T };
複製代碼

約束

形式上<T extend B>B能夠是接口或類函數

相關文章
相關標籤/搜索