• Maiq@lemy.lol
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      14 hours ago

      Was looking at it and could not figure out why their weren’t any semicolon’s.

      • ScintillatingStruthio@programming.dev
        link
        fedilink
        English
        arrow-up
        9
        ·
        12 hours ago

        Neither Javascript nor Typescript require semicolon, it is entirely a stylistic choice except in very rare circumstances that do not come up in normal code.

        • Lemminary@lemmy.world
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          12 hours ago
          Explanation for nerds

          The reason is the JS compiler removes whitespace and introduces semicolons only “where necessary”.

          So writing

          function myFn() {
            return true;
          }
          

          Is not the same as

          function myFn() {
            return 
              true;
          }
          

          Because the compiler will see that and make it:

          function myFn() { return; true; }
          

          You big ol’ nerd. Tee-hee.

          • Ephera@lemmy.ml
            link
            fedilink
            English
            arrow-up
            6
            ·
            11 hours ago

            That’s terrifying, especially in JS where no type system will fuck you up for returning nothing when you should’ve returned a boolean.

            • Lemminary@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              6 hours ago

              Not wrong, but funnily enough, it’s a linting rule win. I’d go nuts if I didn’t have my type checks and my linters. My current L, though, is setting up the projects initially and dealing with the configuration files if I raw dog it, but that’s a problem with ESLint configs and the ecosystem as a whole having to deal with those headaches. So in the end, the JS devs got clever and shifted the blame to the tooling. 😅

        • Ephera@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 hours ago

          Hmm, a webdev colleague said he’d normally prefer without semicolons, but used them anyways for better compile errors.

        • Maiq@lemy.lol
          link
          fedilink
          arrow-up
          3
          ·
          12 hours ago

          That’s good to know. Don’t know how I didn’t know this. Been writing JS since 2000. Always just used them I guess. Ecmascripts look funny to me without them