鍍金池/ 問(wèn)答/HTML/ 求幫忙一起解析一段export function makeMap代碼

求幫忙一起解析一段export function makeMap代碼

export function makeMap (
  str: string,
  expectsLowerCase?: boolean  
): (key: string) => true | void {
  const map = Object.create(null)
  const list: Array<string> = str.split(',')
 for (let i = 0; i < list.length; i++) {
    map[list[i]] = true
  }
  return expectsLowerCase
    ? val => map[val.toLowerCase()]
    : val => map[val]
}

clipboard.png

這是一段es6的代碼“()”后面的“:”號(hào)是什么意思····es6有這樣的寫(xiě)法嗎??
求大神

回答
編輯回答
故林

謝謝原來(lái)是ts的寫(xiě)的···

2017年11月10日 13:52
編輯回答
臭榴蓮

這是typescript的寫(xiě)法,意思是返回值的類型。typescript是es6的超集,有強(qiáng)類型功能,

這段代碼的大概意思就是

定義一個(gè)函數(shù),函數(shù)有一個(gè)返回值,這個(gè)返回值也是個(gè)函數(shù),然后對(duì)這個(gè)返回函數(shù)做了一個(gè)定義,也就是在冒號(hào)后面的定義 (key: string) => true | void

2017年6月17日 00:03