2 ms·
...so it basically is `0 == ![]`, in other words, `[].length` which is `0`, thus becomes `0 == false` which returns `true` with loose comparison?
by stefanos82 5y ago
...so it basically is `0 == ![]`, in other words, `[].length` which is `0`, thus becomes `0 == false` which returns `true` with loose comparison?
- 0x4d464d48 5y agoYep. 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.