• 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