JavaScript has quickly become one of the most widely used and popular programming languages of the past decade. Thanks in part to technologies like Node.js, the once confined language used to fade elements in and out of the page, is now used to built entire full-stack applications.
That popularity means that more and more people are beginning to learn JavaScript. And that's great for the growth of the language overall. As a result, there are now more ways than ever before to learn how to code in JavaScript.
You have the tried and true method of using college textbooks, which are bulky and probably still expensive. But you also have online tutorial sites and how-to videos as well. These days you even have short video clips online breaking down programming concepts.
So in a sense, there is something for everyone that genuinely wants to learn JavaScript. Here are my preferred ways of doing so based on over 20 years of web development.
W3Schools.com
W3Schools.com is one of the oldest online resources when it comes to learning web development. If you are any kind of
web developer, then you no doubt have heard of this website and no doubt that it has helped you out in some way.
A few notable features of the site are:
- Easy navigation
- Fast editor
- Up to date documentation
- Certifications
- Short concise articles
- Problem sets
- It's free
More recently W3Schools has begun to add paid for content, such as video tutorials and technical certifications. But the majority of the website is still free to use.
If you are looking to immerse yourself in all things JavaScript in the beginning, then the paid content might make for great supplemental material.
I've personally been using W3Schools.com for over a decade and it has become my go to reference for JavaScript. The site gives you examples right off the bat without being too heavy on technicalities and the built-in code editor makes for a very convenient sandbox environment.
I'll mention now that W3Schools.com isn't really intended to give you a PhD level breakdown in JavaScript. The examples and guides mainly do 3 things for you. They explain the concept (usually in a paragraph or so), they give you runnable code that you can easily copy and paste, and they give you supplemental information that is pertinent to the current topic, such as browser support and caveats.
If you are looking for more in-depth explanations and under-the-hood definitions, then the following resource might be more to your liking.
MDN Web Docs
Mozilla has one of the most robust online documentation when it comes to all things web. They should, as FireFox is still a relevant and heavily used browser. If anyone knows the web, it's Mozilla.
That strength is also its weakness though. Because MDN has too much information. And each bit of information links to more information which links to even more. If you're a more experienced developer already then this can be a great benefit as you get more context and get a larger picture. But if you're relatively new to coding, then it can be quite overwhelming.
MDN is as technical as they come and it does not try to strain too far from that model throughout the entirety of the website.
If you are looking to learn JavaScript, they do have specialized courses that are free and relatively thorough that covers the fundamental concepts. These courses follow a linear path of progression and can be easily picked up later on.
I still heavily use MDN on an almost daily basis as it helps me to verify functionality in built-in JavaScript methods, as well as get robust examples for the more complex topics, such as animation and audio.
The biggest difference between MDN and other online resources though is that MDN maintains a strong text-based only approach. You won't find colorful hour long videos here. But if you do prefer other methods of learning, then continue to read on.
Online resources
Aside from the 2 previously mentioned online resources, there are dozens of other high quality courses and tutorials covering the fundamentals of JavaScript. And most can be found for free typically.
Websites like https://learnjavascript.online/ are a great place to start if you're looking for structured course with a practice problem-solving approach. While not entirely free, the first 77 lessons in the course are. That is enough content to keep you busy for some time. And once you are done with those lessons, you can always show the website support by purchasing the remaining lessons.
This site also offers actual problem-solving questions set at various breakpoints to ensure overall retention the material.
Equally as in-depth, https://eloquentjavascript.net/ offers a fully free digital version of the 3rd edition of Eloquent JavaScript written by Marijn Haverbeke. The book begins with all of the JavaScript fundamentals that every programmer needs and ends with server-side programming using Node.js.
This book also takes on a problem solving approach by incorporating real-world and rather complex assignments as you make your way through the chapters.
Books
This is usually my go to method for learning anything. This probably has to do with the fact that I went to a university to study Computer Science and as such textbooks were essentially my life for some time.
And that's because they work. If you start reading from page 1 all the way to page 800, you will be able to piece the entire picture together. You might not be perfect in your retention, but you'll probably know enough to get your work done and to get noticed.
Here are the top books that I typically recommend when it comes to learning JavaScript.
Secrets of the JavaScript Ninja
This is the one book that I almost always recommend to anyone and everyone looking to get more insight in JavaScript. The main reason is that it is written by John Resig, who is the creator of the uber popular jQuery library.
If anyone knows JavaScript, it's probably John Resig. This book is really for anyone that is aiming to get a deeper understanding of JavaScript from the ground up. It's not an easy read by any means, but it is worth the time. You can also check out the audiobook of this edition right over here.
Eloquent JavaScript
I mentioned Eloquent JavaScript above in the online resources section as it can be found in its entirety for free online.
But it's also available in physical book format for your non-digital reading. Definitely worth checking out if you prefer the more traditional book reading approach.
Other ways
The most important thing to consider when learning something as complex and daunting as a programming language, is to find resources that you can stick with for the long haul. This is why I consider online tutorials and textbooks such valuable assets, because they start at the beginning and gradually add element after element all the way to some given endpoint.
But there are many other approaches that you can take in this day and age. For example, there are thousands of JavaScript courses that you can purchase online on websites such as uDemy or Skillshare for a few bucks.
You can also follow along on YouTube tutorials, assuming that they are in-depth and can cover the entirely of the language in one sitting. Many YouTube videos these days can push the 8 hour mark in order to fully attempt to explain the concepts.
If your time and finances allow, you can also take the more serious route of attending a coding bootcamp. Most bootcamps these days focus heavily on full-stack front-end development solely, making them ideal places to fully grasp and near-master JavaScript.
I hope that this article helped to better give you an idea on how to approach learning JavaScript. There isn't any one single and perfect method. Often times, the benefits come when you've tried all of the given methods and then are free at the end to choose the one that is most idea for you.