• TimeSquirrel
    link
    fedilink
    18
    edit-2
    11 months ago

    Normal languages: “does this equal that?”

    JS: “does this REALLY equal that, or just ‘equal’ that?”

    • @RamblingPanda
      link
      1011 months ago

      JS comparing a string and some random number: “ah, close enough probably”

        • @[email protected]
          link
          fedilink
          411 months ago

          No one checks those values explicitly.

          if (str) checks if it’s not null, undefined, or empty string.

          Optional chaining like if (arr?.length) checks if list is undefined, null, or empty array.

          Falsy and truthy comparators seem fucky in the beginning when coming from a strongly typed language. But they’re very convenient when used properly.

          • @[email protected]
            link
            fedilink
            111 months ago

            Monads exist, optional chaining has been around for ages, and implicit bool casts, too.

            As you said, no one checks those values explicitly.