The legal concerns are legitimate, but frankly, I am unconvinced by the criticisms of JavaScript: There are well-known, well-designed tools like ESLint, and if you like types, Flow and TypeScript, which can mitigate the issues. That's more than you can say about Java (COBOL 2.0, now with a bevy of cargo-cult OO that makes things more overly complex), or Objective-C (All the safety of C, with similar OO problems, and…
Some of us happen to think that no GC is a good thing, in Obj-C's case. Swift eschews it as well.
I rest my case. There's a place for manual memory management. It's not in application code.