• davel [he/him]
    link
    fedilink
    English
    2113 hours ago

    Definitionally in IEEE floating point, NaN is not equal to anything, including itself. The only real abomination here is B:

    > Math.min()
    Infinity
    > Math.max()
    -Infinity
    > 
    
    • Ephera
      link
      fedilink
      English
      1412 hours ago

      I mean, B does make some amount of sense, if you realize that it’s supposed to give you the maximum among the parameters (so you’d normally call it as Math.max(5, 3) === 5).

      Well, and you can call that with zero parameters, because you can spread an array into it, which might have zero length. And then given these conditions, and if you don’t want to throw an error, then -Infinity is kind of the least bad remaining option, as it’s likely to generally work with the rest of your logic.

      • NewDark [he/him]
        link
        fedilink
        English
        45 hours ago

        I love javascript. It’s so insane in such fun ways to prevent itself from throwing errors. It’s got like a naive cute charm to it ya know?