• Gsus4@mander.xyz
      Aquileo | link
      Aquileo | fedilink
      Aquileo | arrow-up
      20
      ·
      Aquileo | edit-2
      1 year ago

      Yeah, I actually had to try 1+“11” to check that it didn’t give me 12, but thankfully it commutes it’s consistent 😇

      • palordrolap@fedia.io
        Aquileo | link
        Aquileo | fedilink
        Aquileo | arrow-up
        19
        ·
        1 year ago

        it commutes

        Maybe the behaviour with regard to type conversion, but not for the operation itself.

        “13”+12 and 12+“13” don’t yield the same result.

          • palordrolap@fedia.io
            Aquileo | link
            Aquileo | fedilink
            Aquileo | arrow-up
            4
            ·
            1 year ago

            Given it’s JavaScript, which was expressly designed to carry on regardless, I could see an argument for it returning NaN, (or silently doing what Perl does, like I mention in a different comment) but then there’d have to be an entirely different way of concatenating strings.

              • palordrolap@fedia.io
                Aquileo | link
                Aquileo | fedilink
                Aquileo | arrow-up
                2
                ·
                1 year ago

                You’re right. I’ve got too much Perl on the brain and forgot my roots. There is a language that does what you’re talking about with the ‘+’ operator: BASIC

                Good luck getting the same thing retrofitted into JavaScript though. I can imagine a large number of websites would break or develop mysterious problems if this (mis)behaviour was fixed.

            • ChickenLadyLovesLife@lemmy.world
              Aquileo | link
              Aquileo | fedilink
              English
              Aquileo | arrow-up
              5
              ·
              1 year ago

              expressly designed to carry on regardless

              I’m surprised they didn’t borrow On Error Resume Next from Visual Basic. Which was wrongly considered to be the worst thing in Visual Basic - when the real worst thing was On Error Resume. On Error Resume Next at least moved on to the next line of code when an error occurred; On Error Resume just executed the error-generating line again … and again … and again … and again …