In my student years everybody around me mocked JavaScript. Being part of the tribe, I have never really tried to learn JavaScript. I used quick and dirty solutions, copied code from Stackoverflow, without really understanding it and hoped it will not break. It changed after my first full-time job.
I had a lot of students part time jobs as Java programmer. After I got my Bachelor Degree in Computer Science, I was looking for a Job as "Junior Java/Android Software Developer" and I found one in Bonn. I thought I will be developing software in Java but I was wrong. The company used JavaScript for EVERYTHING. They used it for developing iOS/Android Apps, Web Apps and Backend.
I was forced to understand and learn JavaScript. The change from Java to JavaScript was really hard. No Classes, no Objects, no Interfaces, no Polymorphism. In the beginning I tried to imitate Classes and Interfaces with frameworks but somehow it did not feel right. Writing a Java-like code with JavaScript was wrong.
After this approach failed, I came to conclusion that I have to understand JavaScript and think in JavaScript instead of Java. I looked for books about JavaScript. My first book was "JavaScript: The Good Parts" by Douglas Crockford. It describes the parts of JavaScript you should use.
Now I knew what to use but did not know how to use it. I needed something like Design Patterns book. And I found "JavaScript Patterns" by Stoyan Stefanov, it was an eye opener. It helped me to understand JavaScript and to be productive.
If you are new to JavaScript, you must read "The Good Parts" and work through "JavaScript Patterns".
After developing software for 2 years with JavaScript, I do not want to go back to Java. Compared to Java, JavaScript gives me more freedom to write better software. I love direct solution approach and freedom of JavaScript. I love JSON, functions, callbacks and promises. With JavaScript I can get productive really fast. I am happy, the circumstances forced me to learn JavaScript. It made me a better programmer.