Javascript:?运营商
问题描述:
我不明白这是甚么,甚至是。请有人指点我研究什么?Javascript:?运营商
circle: (null : ?{ setNativeProps(props: Object): void }),
它是React Native示例的一部分,它是React Native类定义的一部分。外部分(略):
var NavigatorIOSExample = React.createClass({
...
circle: (null : ?{ setNativeProps(props: Object): void }),
...
});
我以为这是一些棘手的使用三元运算符。一个匿名函数。但?
来源:https://facebook.github.io/react-native/docs/panresponder.html
答
声明来自Flow语法。它说,“圆圈”是与是一个命名功能的属性的对象“setNativeProps”:
{ setNativeProps(props: Object): void }
它还说,圆is nullable(由前述指示“?”),并且所述默认值将是null,直到指定类型的对象已分配给它。
如果你还看不起你可以看到如何调用代码检查那个圈子已经调用setNativeProps之前被分配样本:
this.circle && this.circle.setNativeProps({
backgroundColor: CIRCLE_HIGHLIGHT_COLOR
});
看一看:http://*.com/a/10270383/ 3000589 – martijnn2008
@Quentin我不认为这是OP的要求。 'null:? ...'不是有效的原生JavaScript语法,当然不包括在[那篇文章]中(http://*.com/questions/9549780/what-does-this-symbol-mean-in-javascript) 。 –
确实。看起来像一个三元操作符(这是我首先回答的),但事实并非如此。奇怪......从来没有见过这个。 – Blizz