I see nothing wrong with abusing constructs like "!0",... HOWEVER! ...
In the interest of creating human-readable and maintainable code, such hacks should only be applied by machines in a pre-processing phase. (Such as JS minify'rs. "!0" is something that a smart JS compressor ought to handle for you.)
Recently I found a JS compressor that builds an array of every alphanumeric word used in your code, then packs the code as a series of digits and performs a massive search-and-replace-and-then-eval() at runtime.
no subject
In the interest of creating human-readable and maintainable code, such hacks should only be applied by machines in a pre-processing phase. (Such as JS minify'rs. "!0" is something that a smart JS compressor ought to handle for you.)
Recently I found a JS compressor that builds an array of every alphanumeric word used in your code, then packs the code as a series of digits and performs a massive search-and-replace-and-then-eval() at runtime.
Also: The PHP truth table.
Also: All languages are terrible in specific ways.
</rant>