在javascript中使用"return!0"有什么意义吗?

Dar*_*ous 40 javascript minify

如果您转到Google结果页并运行rwt.toString(),您会看到此函数的返回调用是:

return !0;
Run Code Online (Sandbox Code Playgroud)

我想不出为什么这并不总是如此true.这只是一个简写true,还是有更多的进展?

Pau*_*aul 47

总是如此,但!0下载布尔值需要2个字节(2个字符)而不是4个字节true.

大多数Javascript minifiers将转换true!0和false !1.您可以通过var y = true;在Google的Closure Compiler上键入Simple optimizations 来查看此示例:http://closure-compiler.appspot.com/home

  • @stu`return 1;`返回`number`类型.如果有人使用`===`或`!==`运算符来返回值,那么它们将从`!0`获得预期结果,但不会从`1`获得. (7认同)
  • 但是下载只需要 1 个字节 1. return 1; 也会同样有效,不是吗?非零,我们都知道你不是测试真值,而是测试非假值。 (2认同)