我正在阅读本机文档,我遇到了这行代码
watchID: ?number = null;
我知道这有TypeScript
种语法,但我无法在TypeScript
中看到React Native
。
有人可以解释一下吗?
答案 0 :(得分:6)
这是Facebook flow语法。这是一种在常规Javascript中引入打字的方法。流可以静态解析源文件以检查类型问题。然后,当您使用Babel编译代码时,它将使用这些Flow注释,以便它不会导致错误。您应该在项目的根目录中看到一个.flowconfig
文件 - 这是您的项目正在使用流程的绝对赠品。
此特定语法表示如果传递watchId
,则它将是number
类型,但?
表示这也是maybe
类型,这意味着它可能不会被传递,在这种情况下= null
将发生(这与流不相关),这就是你在JS中分配默认值的方式。