Javascript 返回void和返回undefined之间的闭包编译器差异

Javascript 返回void和返回undefined之间的闭包编译器差异,javascript,types,google-closure-compiler,Javascript,Types,Google Closure Compiler,在闭包编译器中,返回void类型与返回undefined类型之间是否有任何区别 /** * @return {void} */ function myFunction() {} /** * @return {undefined} */ function myFunction2() {} @type{void}对闭包编译器的意义与@type{undefined}相同。使用你喜欢的任何东西。@type{void}对闭包编译器的意义与@type{undefined}相同。随意使用。void是Ja

在闭包编译器中,返回
void
类型与返回
undefined
类型之间是否有任何区别

/**
* @return {void}
*/
function myFunction() {}


/**
* @return {undefined}
*/
function myFunction2() {}

@type{void}
对闭包编译器的意义与
@type{undefined}
相同。使用你喜欢的任何东西。

@type{void}
对闭包编译器的意义与
@type{undefined}
相同。随意使用。

void
是JavaScript中的运算符,不是类型,因此我认为它应该生成编译器错误。它与
@return{delete}
@return{typeof}
一样有意义。但是在快速测试之后,编译器似乎可以使用
@return{void}
。你为什么这么问?最好使用未定义的
。我很好奇为什么这是允许的。这是复制Java的结果吗?如果在这里没有得到答复,您可能会在闭包编译器列表中询问。我不知道你说的“复制Java”是什么意思。编译器非常非常好,但并不完美。他们努力改进它,称之为“新类型推断”,但我尝试打开它,但它也没有捕捉到这一点。
void
是JavaScript中的运算符,而不是类型,因此我认为它应该生成编译器错误。它与
@return{delete}
@return{typeof}
一样有意义。但是在快速测试之后,编译器似乎可以使用
@return{void}
。你为什么这么问?最好使用未定义的
。我很好奇为什么这是允许的。这是复制Java的结果吗?如果在这里没有得到答复,您可能会在闭包编译器列表中询问。我不知道你说的“复制Java”是什么意思。编译器非常非常好,但并不完美。他们努力改进它,称之为“新类型推理”,但我试着打开它,但它也没有捕捉到这一点。