求帮忙一起解析一段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的代码“()”后面的“:”号是什么意思····es6有这样的写法吗??
求大神

阅读 1.6k
2 个回答

这是typescript的写法,意思是返回值的类型。typescript是es6的超集,有强类型功能,

这段代码的大概意思就是

定义一个函数,函数有一个返回值,这个返回值也是个函数,然后对这个返回函数做了一个定义,也就是在冒号后面的定义 (key: string) => true | void

谢谢原来是ts的写的···

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题