我寫這個API庫:打字稿:強制仿製T和U
export var reduce = <T, U>(
tArray: T[],
tReducer: (current: U, tItem: T, index: number, tArray: T[]) => U,
options: IChunkifyOptions = DEFAULT_OPTIONS,
memo?: U
): Promise<U>
實施,像標準的JavaScript reduce使用的tArray
第一項爲memo
如果沒有memo
提供了依據。
if (memo === undefined) {
memo = tArray[0]; // Type 'T' is not assignable to Type 'U'
}
鑄造(<U>
)給出,合理,Neither Type 'T' nor Type 'U' is assignable to the other.
什麼是一個合理的方式來定義的API?
回答[here](http://stackoverflow.com/a/28310171/2419669)。首先投給「」! –
yangmillstheory
使用''鑄造時要謹慎。重寫TypeScript的類型安全性可能會導致許多無法預料的問題。我只允許在測試嘲笑和我的團隊存根,並有充分的理由。在採用''演員陣容之前,請花點時間考慮下面的答案。 –
SnareChops