• zagaberoo@sopuli.xyz
    link
    fedilink
    arrow-up
    42
    ·
    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