• @jjjalljs@ttrpg.network
      link
      fedilink
      07 days ago

      I don’t know about “fine”. It has a lot of weird stuff baked in. Hoisting. Unexpected type coercion. Too many ways to loop over something and I always forget which one is which. “There’s more than one way to do it” is kind of a recurring problem, come to think of it. Several function declaration syntaxes. Dot notation AND bracket notation for objects.

      Also it will forever bother me that object keys aren’t quoted.

      const foo = "hello"; const bar = { foo: "world" }

      That should be, in my mind, { "hello": "world" } . It’s not. It’s { "foo": "world" }

      But if you want to do that, you need to do const bar = { [foo]: world }. Which looks like your key is an array with one entry, a string with a value of “foo”

      You also end up learning a whole framework, with its syntax and idioms, every couple years. Angular. React. Redux. Whatever.

      There’s also a lot of people who have never used anything else, and want to use javascript for everything.

      Javascript is basically D&D. Wildly popular. Full of legacy jank. People try to use it for anything even though there are better or more specialized tools.

      • @SaharaMaleikuhm@feddit.org
        link
        fedilink
        06 days ago

        No need to convince me it’s shit. Also how do you end up only knowing Javascript? Who the hell starts out using Javascript of all the languages?

        • @jjjalljs@ttrpg.network
          link
          fedilink
          06 days ago

          Anyone entering through web development. If you’re self taught or did a “coding boot camp”, it might be the only language you’ve used. A lot of places use it for backend stuff now, too

      • Lemminary
        link
        fedilink
        06 days ago

        After reading the JS Bible and listening to a lot of Kyle Simpson, I don’t find any of those unusual or unexpected, but rather neat in the context of the language. And with enough practice, even the implicit return of an arrow functions jumps out at you.

          • Lemminary
            link
            fedilink
            01 day ago

            Well, I don’t think it’s a bad language necessarily. It’s a language that works, and it’s a tool that’s tried and true. Stick to the good parts and you’re good.

      • Phoenixz
        link
        fedilink
        06 hours ago

        JavaScript sucks but I’ll give it this one

        Arrays are complex structures with multiple values. Just because one looks like the other doesn’t make them the same object. It’s like taking two new objects form the same class, they look the same but work independently from eachother. I can add a value to one and the other would be unaffected, they’d both still be the same class

    • Phoenixz
      link
      fedilink
      07 days ago

      Oh Hells no.

      JavaScript is NOT fine, it’s … I’m really trying to think of a word that will convey the shit that it is without triggering half the people on Lemmy into an aneurysm, but I can’t find it.

      JavaScript is by far the worst. I’ve been working with JavaScript for the past 6 days and I want to hang myself, it’d be a better fate than continuing

      • @Hoimo@ani.social
        link
        fedilink
        06 days ago

        Yeah, I had some webpages archived and tried to use javascript to clean them up, but I ended up parsing it as xml through Powershell instead. I’ve done something with Python and BeautifulSoup too, a long time ago. Both much easier than JS, but somehow JS is designed to work with web pages? Make it make sense.

    • nickwitha_k (he/him)
      link
      fedilink
      07 days ago

      Use the modulo operator? Nah. Need to import the isEven library and a ton of other unnecessary sub-50 LOC libraries “maintained” by a single dev to make their CV look more impressive. /s

    • @i_stole_ur_taco@lemmy.ca
      link
      fedilink
      07 days ago

      Excuse me, but it’s industry practice to always use PlusJs.

      Its just annoying that it has its own dependency on MinusJs.