Someone boo boo’ed the label making

      • herrvogel@lemmy.world
        link
        fedilink
        arrow-up
        13
        ·
        edit-2
        14 hours ago

        Javascript has a tendency to “just work” even when it might be a better idea not to. That is achieved by making assumptions and defaulting to certain pre-defined behaviors where most other languages would just stop. Unless something truly catastrophic happens, JS always tries to find a way to keep the code running. Good or bad, that’s by design just how it works.

        That is an example of this tendency. Normally the " ‘a’ + + ‘a’ " bit should be an error case, because that does not make sense. Where most programming languages would throw and error and stop execution, javascript just soldiers on. It assumes the center bit is an addition of numbers. Except since there’s no number there, it automatically injects the value that represents invalid numbers, which is “nan” for “not a number”. Then, since that “number” is surrounded by letters, it parses that number into a text value, which is the string “nan” itself. And then finally it adds all the letters together to form a banana.

        There are plenty of weird ways to get JS to give you stupid results back. Shit like these are not bugs with the language, it’s just JS working as intended. Except the way language works as intended can lead to actual bugs very easily, is the problem.

      • buddascrayon@lemmy.world
        link
        fedilink
        arrow-up
        4
        arrow-down
        2
        ·
        1 day ago

        Sadly the problem is that the old men are the ones who know how to use the JavaScript and the young men are the ones who have no fucking clue what they’re doing anymore.

        • Eheran@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          23 hours ago

          People are supposed to understand this kind of “logic”? No wonder everything is full of bugs if code is THAT obscure. You seem to even like it that way.