A good programmer can pick up javascript quickly. Other than syntactic and semantic warts, it is not a difficult language to learn.
I actually started with Python and moved on to JavaScript for my work involving web development. Currently, I use both.
I'm generally comfortable with making CRUD apps employing OOP, using both Python classes and prototypal inheritance in JS. My issue is that I still don't have the experience to understand WHY people often lament the 'chaotic disaster' that is JS. I haven't had any issues yet...
I also just want to keep the momentum up and never stop learning.
I don't mean that to be rude. It's just...the bar is very low here.
Now I write mostly JavaScript (<3 TypeScript) because it's so easy and fast, but having traditional OOP principals in my head is very helpful.
You'll also find many more, much better examples for data structures and algorithms in Java or C#.
Perhaps you might try Lisp or scheme:
I think this is a poor recommendation regardless, because programming in JS really is more similar to modern C# than it is to Lisp or Scheme.
Also, Douglas Crockford is an asshat. How did he wind up an authority on anything?
My thinking goes: understanding classic OOP is helpful in learning JavaScript because the high level concepts are the same but in my opinion more obvious and easier to implement in Java/C#.
By more obvious, a Java/C# (+ others) program starts with a class and to add functionality you either have to add more methods to that class or implement another class. So to a new programmer "duh, everything is an object and objects are instances of a class".
It's kind of hard to convey the same idea to someone in JavaScript when {} is called an object, "xxx" is an object, and to compose a new class, you compose a new function.
However, to someone who already understands classes and objects, it's just a new/different way to create classes and objects.
I spent years programming C# before switching to JS, and it took me a long time to stop thinking in a object-oriented way and embrace the functional style that works best with JavaScript.
If you want to learn JS and be a good JS programmer, you are best learning JS, not some other language. That's basic common sense. A great place to start is with the "You Don't Know JS" book series, which are all available online, for free: https://github.com/getify/You-Dont-Know-JS.
This is just wrong on so many levels. I wish "we" would get over this meme that by picking up language X that is a paradigm shift from language Y, that you're going to be a better programmer in language Y. That's just nonsense.
The comment about "chaotic disaster zone" is just bitterness for the typical reasons of hatred for JavaScript.