Javascript中的奇异语法“:?”&引用;

Javascript中的奇异语法“:?”&引用;,javascript,Javascript,我正在查看Github上的回购协议,突然发现了以下文件: 更准确地说,第13行: let createDevToolsWindow: ?Function; 我不知道这个“[…]?:Function;”语法是什么。我查看了引入它的提交,我在ES2015+中搜索,试图在谷歌上找到它,但我不知道它是如何命名的,所以我什么也没找到 这是什么节点的事情吗?或者我真的不擅长JS?…这段代码正在使用,前缀?表示允许null。更多: 如果我理解正确的话,它是用来指定变量的类型的,就像你在C中所做的那样,例如?

我正在查看Github上的回购协议,突然发现了以下文件: 更准确地说,第13行:

let createDevToolsWindow: ?Function;
我不知道这个“[…]?:Function;”语法是什么。我查看了引入它的提交,我在ES2015+中搜索,试图在谷歌上找到它,但我不知道它是如何命名的,所以我什么也没找到

这是什么节点的事情吗?或者我真的不擅长JS?…

这段代码正在使用,前缀
表示允许null。更多:


如果我理解正确的话,它是用来指定变量的类型的,就像你在C中所做的那样,例如?“int num=0;”但是使用“?”可以指定变量也可以是“null”。对,我建议花几分钟学习入门教程:我还将添加另一个示例。
var array_of_num: number[] = [];
var array_of_num_alt: Array<number> = [];
var optional_array_of_num: ?number[] = null;
var array_of_optional_num: Array<?number> = [null, 0];
// okay, 1 is a number
var good: number = 1;  

// okay, we have a ?
var good_nullable: ?number = null; 

// not okay, no ? means null is not a valid value for this variable.    
var bad: number = null;