• alokir@lemmy.world
    link
    fedilink
    arrow-up
    8
    arrow-down
    3
    ·
    1 year ago

    I’d bet that most people who think this way either haven’t used it in the last 10 years or they only know it from the memes.

    • whatsarefoogee@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      1 year ago

      Nope. Use it very often, though mostly usually with typescript.

      Raw Javascript becomes a massive hindrance in any project past half a dozen files and 1000 lines.

      Typescript makes it a lot more usable.

      • alokir@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I agree, I also prefer Typescript, but I don’t think I’ve ever seen a meme about JS not having strongly typed variables.

        They either don’t center around any specific problem or things that are also mostly true about TS.

        • icydefiance@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          1 year ago

          The problem is refactoring. Want to rename a method? If the name isn’t unique enough to search for, you can’t do it. There’s too much risk that you’ll miss things and create severe bugs. Of course, that can be solved with really thorough unit tests, to some extent. But then you’re just spending a lot of extra time writing tests for things that typescript will enforce automatically.

          You also get much better autocomplete from the editor with typescript, which speeds up development a lot. You save a pretty huge amount of time if you don’t have to constantly look through documentation or even dig through a bunch of code to figure out what methods are available and how to use them.

    • jedibob5@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      It does some funky things with type coercion and comparison which I don’t particularly like, but I generally understand why it does things that way.

      A lot of the weird quirks of JS come from the desire to avoid completely blowing up and crashing as much as possible, which makes sense in a web dev context. Forcing weird operations to at least return something can prevent an unhandled error state in a single component from causing an entire page to crash, even if that component ends up malfunctioning.