Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于转换可空性的类型批注_Javascript_Google Closure Compiler_Google Closure - Fatal编程技术网

Javascript 用于转换可空性的类型批注

Javascript 用于转换可空性的类型批注,javascript,google-closure-compiler,google-closure,Javascript,Google Closure Compiler,Google Closure,我希望有一个可以删除值的可空性的函数(如果值实际为空,则引发异常),但我似乎无法获得正确的类型注释。我的第一次尝试是: /** *@param{?T}obj *@param{string}消息 *@return{!T} *@T模板 */ 函数checkNotNull(对象,消息){ if(obj==null){ 抛出消息; }否则{ 返回obj; } } 不过,这似乎不起作用。如果我像foo(checkNotNull(someVar))(其中foo()需要一个不可为空的参数)那样使用它,我仍然

我希望有一个可以删除值的可空性的函数(如果值实际为空,则引发异常),但我似乎无法获得正确的类型注释。我的第一次尝试是:

/**
*@param{?T}obj
*@param{string}消息
*@return{!T}
*@T模板
*/
函数checkNotNull(对象,消息){
if(obj==null){
抛出消息;
}否则{
返回obj;
}
}
不过,这似乎不起作用。如果我像
foo(checkNotNull(someVar))
(其中
foo()
需要一个不可为空的参数)那样使用它,我仍然会得到
TYPE\u MISMATCH
错误(基本上说参数仍然标记为可为空)


有没有办法做到这一点?或者我是否需要在手动空检查后继续键入显式类型提示?

这在当前的实现中是不可能的。在计划中有几处变化允许这一点,但没有内在的变化