Javascript语法null:?{}

时间:2015-09-22 16:05:07

标签: javascript reactjs react-native flowtype

这个例子 https://github.com/facebook/react-native/blob/master/Examples/UIExplorer/PanResponderExample.js#L41

var PanResponderExample = React.createClass({
  ...
  circle: (null : ?{ setNativeProps(props: Object): void })
  ...

我不知道它是什么意思circle: (null : ?{ setNativeProps(props: Object): void })

感谢您的任何建议。

1 个答案:

答案 0 :(得分:6)

这是flow的类型转换,您可以在此post

中查看更多详细信息
  

Typecasts对于检查假设特别有用,并帮助Flow推断出您想要的类型。以下是一些例子:

  (x: number) // Make Flow check that x is a number
  (0: ?number) // Tells Flow that this expression is actually nullable.
  (null: ?number) // Tells Flow that this expression is a nullable number.

所以circle: (null : ?{ setNativeProps(props: Object): void })表示circle属性是一个可以为空的对象,其setNativeProps方法,默认值为null