Hacker News new | ask | show | jobs
by 0x4d464d48 1671 days ago
Say what you will about JavaScript...

I use it constantly not because it's well-designed but because TINA (there is no alternative).

[] == ![]; // true. Go ahead. Run it in your console...

1 comments

...so it basically is `0 == ![]`, in other words, `[].length` which is `0`, thus becomes `0 == false` which returns `true` with loose comparison?
Yep.

Because an array is an object which has a 'truthy' value '![]' evaluates as 'false'.

Simplifies to a statement similar to 'false == false'.

A little useless arcana for those interested.

Well, not so useless if your expecting '!someEmptyArray' to evaluate to 'true'. Use '!someEmptyArray.length' instead.