2017-08-26 51 views
0

我有以下功能:指定返回類型爲內聯函數與流

const safeNull = fn => (txt: string): string => (isNil(txt) ? '' : fn(txt)); 

export const stripSpaces: Function = safeNull(txt => txt.replace(/\s/g, '')); 

export const safeTrim: Function = safeNull(txt => txt.trim()); 

我怎麼說stripSpacessafeTrim返回字符串。

回答

0

safeNull函數類型返回返回字符串的函數。 因此,所有你需要做的就是從stripSpacessafeTrim刪除那些Function類型。 流量將推斷出他們回來,因爲的safeNull返回類型的字符串。

​​

你也可以明確地定義自己的類型,如果你願意的話,像這樣:

const safeNull = fn => (txt: string): string => (isNil(txt) ? '' : fn(txt)); 

export const stripSpaces: string => string = safeNull(txt => txt.replace(/\s/g, '')); 

export const safeTrim: string => string = safeNull(txt => txt.trim());