Javascript"中的异域语法:?"

时间:2017-02-01 10:04:14

标签: javascript

当我偶然发现这个文件时,我正在看Github上的回购: https://github.com/cdebotton/react-universal/blob/master/app/entryPoints/client.js 而更确切地说是第13行:

let createDevToolsWindow: ?Function;

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

这是一些Node吗?或者我对JS真的很不好?...

1 个答案:

答案 0 :(得分: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;