typescript
在javascript基礎上擴充了類型,而且能夠進行靜態類型檢查。它在某種成都上限制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
能夠是接口或類函數