Garrett (garote) wrote,
Garrett
garote

Javascript is insane

''        ==   '0'           // false
0         ==   ''            // true
0         ==   '0'           // true
!0        ==   true          // true
!1        ==   false         // true
false     ==   'false'       // false
false     ==   '0'           // true
false     ==   undefined     // false
false     ==   null          // false
null      ==   undefined     // true
" \t\r\n" ==   0             // true
NaN       ===  NaN           // false
!!NaN     ===  !!NaN         // true
I recently saw someone prefacing their code with
var t=!0;
... Because they wanted to save space in their code by replacing every occurrence of true with t, and also wanted so save two bytes while declaring what t was.

And I thought Perl invited abuse!

If you see anyone doing this, pour your drink on their head.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments