• zagaberoo@sopuli.xyz
      link
      fedilink
      arrow-up
      43
      ·
      2 days ago

      The risk is when it happens unintentionally. The language is bad for hiding such errors by being overly ‘helpful’ in assuming intent.

      • FooBarrington@lemmy.world
        link
        fedilink
        arrow-up
        12
        arrow-down
        6
        ·
        2 days ago

        Sure, but at this point it’s your own fault if you don’t use Typescript to keep these issues from happening.

        • jjjalljs@ttrpg.network
          link
          fedilink
          arrow-up
          24
          arrow-down
          1
          ·
          2 days ago

          “Use a different language” is a common defense of javascript, but kind of a weird one.

          • FooBarrington@lemmy.world
            link
            fedilink
            arrow-up
            5
            ·
            2 days ago

            Not really, considering Typescript only adds static types to JS. It’s not a different language, it’s an extension.

            • Quibblekrust@thelemmy.club
              link
              fedilink
              English
              arrow-up
              6
              ·
              2 days ago

              Since it needs to be compiled to JavaScript in order to be used, I kind of consider it a different language. Yes, it’s a strict superset of JavaScript, but that makes it different.

              • FooBarrington@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                2 days ago

                That’s your prerogative, but it honestly doesn’t make sense. Typescript adds almost no functionality to JS (and the few pieces it adds are now considered mistakes that shouldn’t be used anymore). It only focuses on adding typing information, and in the future you’ll be able to run TS that doesn’t use those few added features as JS (see the proposal).

                You can also add the TS types as comments in your JS code, which IMO shows that it’s not a different language.

          • matlag@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            8
            ·
            2 days ago

            That’s also my understanding: “Javascript is great because you can use other languages and then transpile them to JS.”

            • FooBarrington@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              2 days ago

              JS itself is great, I prefer it to most other languages due to the flexibility that it allows. Adding types through TS to safeguard against footguns doesn’t mean you’re not still using JS. You can also add the types using comments instead if you prefer it, which means you’re actually writing raw JS.

          • sebsch@discuss.tchncs.de
            link
            fedilink
            arrow-up
            1
            ·
            2 days ago

            Yeah! Wasm is a thing. At least rust and go are pretty neat in the browser lately.

            We should leave that pile of semantics and just go further with web development