2016-08-11 19 views
0

我一直在閱讀Angular 2 TypeScript docs,我遇到了很多這兩個類。請有人解釋他們是什麼?<T>和<U>代表Angular 2中有哪些類?

QueryList api文檔的一個例子的代碼是:

class QueryList { 
    changes : Observable<any> 
    length : number 
    first : T 
    last : T 
    map(fn: (item: T, index: number, array: T[]) => U) : U[] 
    filter(fn: (item: T, index: number, array: T[]) => boolean) : T[] 
    reduce(fn: (prevValue: U, curValue: T, curIndex: number, array: T[]) =>  U, init: U) : U 
    forEach(fn: (item: T, index: number, array: T[]) => void) : void 
    some(fn: (value: T, index: number, array: T[]) => boolean) : boolean 
    toArray() : T[] 
    toString() : string 
    reset(res: Array<T|any[]>) : void 
    notifyOnChanges() : void 
    setDirty() 
    dirty 
} 

回答

1

那些是泛型。他們可以代表任何類型:

TypeScript - Generics

它只是寫,可以採取任何類型,但仍執行該類型整個功能(無論你選擇了T必須保持一個T方式全功能的方式通過函數)。

+0

看起來'T'是泛型類QueryList的類型參數,但由於某些原因它不在API文檔中顯示。 –

+0

而'U'應該是泛型函數'map'和'reduce'的唯一類型參數,但它不會再顯示。 –

+0

所以它就像'任何'類型,但不能在第一次分配後採取任何其他類型?那麼'U'呢? – davejoem

相關問題