wiseowise 2 days ago

``` > if ("0") console.log("true");

true ```

Excuse me?

> In a logical world, a non-empty string being truthy is fine even if the value is "false". Javascript isn't logical.

You must hate our illogical world built on C, because it has the same behavior.

  • jameshart 2 days ago

    Appealing to C - the land of undefined behavior - as a paragon of logic seems like a strange authority to reach for.

    • wiseowise 2 days ago

      The point is that this is a well-defined (not pun intended) behavior that exists within C, C++, Python, Ruby and probably a handful more popular languages. This set pretty much constitutes like 70%(?) of mainstream languages. Yet only JS gets shit thrown its way in this thread.

  • camblomquist 2 days ago

    I did a `"0" == false` which returned true. I may need another cup of coffee before making claims.