js中 :? 是什么写法?

今天看vue VNode的API时,看到有些语法写的很高级,度娘了一些也没搜到相关的解答,有知道下面这几种写法是咋回事的吗?github地址
前面一个?搞不懂是啥意思,还有为什么会用到的 | 位运算呢?
clipboard.png
重点来了,在参数里面这样写是啥意思,看起来像三元运算符

clipboard.png
最后一个,这是什么写法?一脸懵逼....难道我写的是假的JS?

clipboard.png

阅读 6k
3 个回答

目前Vue的语法是基于flow的静态类型检查语法,:还是js里的那个冒号的用法,与?是分开的,?是静态类型检查语言里可选值的意思,|也不是位运算符,是或的意思,用来表示接受字符串或数字类型的值。最后面方法(): Component | void {}这种用法,冒号后面表示要求返回值的类型必须是Component或者无返回值,Component这个类型是Vue基于flow扩展的类

你去了解下 flow 就明白了 或者 TypeScript

是flow的静态类型语法检查

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