2017-02-01 19 views
1

我一直在寻找在Github上回购时,我无意中发现这个文件: https://github.com/cdebotton/react-universal/blob/master/app/entryPoints/client.js ,更精确的线13:Javascript中异域语法“:?”

let createDevToolsWindow: ?Function; 

而且我不知道这是什么“[...]:功能;”语法是。我查看了引入它的提交,我在ES2015 +中搜索,试图在Google上找到它,但我不知道它是如何调用的,所以我没有找到任何东西。

这是一些Node的东西?或者我在JS上真的很糟糕... ...

回答

1

此代码使用的是flow,前缀?表示允许使用null。更多examples

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; 
+0

所以,如果我理解正确的话,它是用来指定变量的类型,就像你会用C做,例如? “int num = 0;” 但用'?'你指定的var也可以是'null'。 –

+1

对,我建议花费几分钟的入门教程:https://flowtype.org/docs/getting-started.html我会再添加一个例子。 –