• @[email protected]
    link
    fedilink
    English
    13
    edit-2
    17 hours ago

    I also am not familiar with javascript anymore…precisely because of this, exact, insane bullshit.

    B… and/or C… evaluating as FALSE are the only things that… should even kind of make sense, according to my brain.

    Though at this point in my life, I have unironically had a good number of concussions and contusions, so … well you’d think that would help with JS development.

    Javascript is insanity, and I am still convinced it is at least 40% responsible for Notch losing his goddamned mind.

    ‘null’ is somehow an object. because fuck you, thats why!

    Is… 0 == ‘’ … is that two single quotes ’ ’ ?

    Or one double quote " ?

    If… it is one double quote… that wouldn’t even evaluate, as it would just be an empty string without a defined end…

    But if it was two single quotes… that would just be a proper empty string… and because of forced type coercion, both 0 and ‘’ are FALSE when compared with ==, but not when compared with ===, because that ignores forced type coercion…

    https://www.w3docs.com/snippets/javascript/when-to-use-double-or-single-quotes-in-javascript.html

    Oh my fucking god WHY?!

    Just fucking use one special character to delimit strings!

    Don’t have two that don’t work together and also behave differently even when you pick just one of them… GraaaghhH!

    brb, figuring out where Larry Ellison lives…

      • lad
        link
        fedilink
        English
        29 hours ago

        That’s just short for JavaScript, isn’t it?

        • Zos_Kia
          link
          fedilink
          17 hours ago

          Java is actually twice faster cause the name is twice shorter

    • @[email protected]
      link
      fedilink
      English
      214 hours ago

      It’s pretty easy to avoid all of these, mostly by using ===. Null being an object is annoying and is one of the reasons ‘typeof’ is useless, but there are other ways to accomplish the same thing.

      JavaScript has a lot of foot guns, but it’s also used by literally everyone so there is a lot of tooling and practice to help you avoid them.

    • @[email protected]
      link
      fedilink
      English
      4
      edit-2
      10 hours ago

      I don’t think my sanity can take all of these explanations.

      Though I just spotted one that’s worse than null being an object …

      typeof NaN
      "number"
      

      I mean, come on… it’s even in the fucking name!

      Edit - fixed capitalisation in ‘NaN’