• Gsus4@mander.xyz
    link
    fedilink
    arrow-up
    20
    ·
    edit-2
    3 天前

    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
      link
      fedilink
      arrow-up
      19
      ·
      3 天前

      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
          link
          fedilink
          arrow-up
          4
          ·
          3 天前

          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.

          • ChickenLadyLovesLife@lemmy.world
            link
            fedilink
            English
            arrow-up
            6
            ·
            3 天前

            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 …

            • palordrolap@fedia.io
              link
              fedilink
              arrow-up
              2
              ·
              3 天前

              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.

              • raspberriesareyummy@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                3 天前

                I don’t think there’s a way to retrofit JS - but php versions are deprecated all the time. Why not do the same with client-side script versions? :)