Is there any point of using "return !0" in javascript?

javascript, minify

Solution

It is always true, but it takes 2 bytes to download (`!0` is 2 characters) instead of 4 bytes to download the boolean value `true`.

Most Javascript minifiers will convert `true` to `!0` and false to `!1`. You can see an example of this by typing `var y = true;` with Simple optimizations on Google's Closure Compiler: http://closure-compiler.appspot.com/home

Problem

If you go to a google result page, and run `rwt.toString()`, you'll see that the return call for this function is: ``` return !0; ``` I can't think of any reason why this wouldn't always be `true`. Is this just a shorthand for `true`, or is there more going on here?

Original source