TypeScript之泛型
什么是泛型,有什么用?
泛型字面意思就是廣泛的類型,怎么樣才算廣泛呢?當(dāng)然是能變的最廣泛嘛,
所謂泛型就是類型的變量寫法,讓你的變量的類型是動(dòng)態(tài)可變的,應(yīng)用場(chǎng)景如官方文檔描述的例子:
一個(gè)函數(shù),輸入什么類型,就輸出什么類型,如下:
function identity<T>(arg: T): T { return arg; }
泛型使用方式在<>中聲明變量(<type>),在作用域內(nèi)部使用
函數(shù)中:function identity<T>(arg: T): T { return arg; }
接口中:interface GenericIdentityFn<T> { (arg: T): T; }
類中:class GenericNumber<T> { zeroValue: T; add: (x: T, y: T) => T; }
泛型約束
interface Lengthwise { length: number; }
function loggingIdentity<T extends Lengthwise>(arg: T): T {
console.log(arg.length);
// Now we know it has a .length property, so no more error return arg;
}

浙公網(wǎng)安備 33010602011771號(hào)