• Comment105@lemm.ee
      link
      fedilink
      arrow-up
      2
      arrow-down
      9
      ·
      11 months ago

      Java devs are prima mental gymnasticists, always able to make anything make sense.

      • Konlanx@feddit.de
        link
        fedilink
        arrow-up
        76
        ·
        edit-2
        11 months ago

        JS !== Java

        Try Javascript some day!

        • We have truthy and falsy! Empty string or null? Yeah, that’s false!
        • Of course we can parse a string to number, but if it’s not a number it’s NaN!
        • null >= 0 is true!
        • Assign a variable with =, test type equality with == and test actual equality with ===. You will NEVER use the wrong amount of = anywhere, trust me!
        • Our default sort converts everything to string, then sorts by UTF-16 code. So yes, [1, 10, 3] is sorted and you are going to live with it.
        • True + true = 2. You know I’m right.

        Try Javascript today!

        • Durotar@lemmy.ml
          link
          fedilink
          arrow-up
          13
          ·
          11 months ago

          Our default sort converts everything to string, then sorts by UTF-16 code. So yes, [1, 10, 3] is sorted and you are going to live with it.

          I’m not sure whether this is satire or not.

          • Konlanx@feddit.de
            link
            fedilink
            arrow-up
            58
            arrow-down
            1
            ·
            edit-2
            11 months ago

            It’s not. The default sorter does that, because that way it can sort pretty much anything without breaking at runtime. You can overwrite it easily, though. For the example above you could simply do it like this:

            [3, 1, 10].sort((a, b) => a - b)

            Returns: [1, 3, 10]

            • sociablefish@programming.dev
              link
              fedilink
              arrow-up
              2
              ·
              11 months ago

              The default sorter does that, because that way it can sort pretty much anything without breaking at runtime.

              who the fuck decided that not breaking at runtime was more important than making sense?

              this js example of [1, 3, 10].sort() vs [1, 3, 10].sort((a, b) => a - b) will be my go to example of why good defaults are important

        • Comment105@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          11 months ago

          I made the thing in the thing print “hello world” with C# once, is Javascript for me?