Unfortunately everyone starts from a different point so there is no single “best” course for teaching yourself.
I can’t say enough nice things about Codecademy. They’re a fantastic teaching tool and everyone who takes their courses recommends them to others.
Learning the basics will take time and this course can shave that time down by quite a bit.
The teachers are exquisite and the videos are all very high quality. You only have access to a few of the videos for free so it’s best to sign up for an account if you wanna go through the whole catalog.
But no matter what you’re trying to learn I think Codecademy is a great place to start. Efficient teaching resources and some of the clearest guides for beginners.
I’m also a huge fan of the Pluralsight library because this offers a bunch of content all for one monthly price. It works on a subscription basis where you can view all their courses(not just JS) with one account.
But the teaching style really aims to bring a complete newbie up to a level of competence. This guide is meant to teach people who simply do not know where to start.
If you have no idea how to describe a variable or how to use it in a function then this course is perfect.
Just make sure you’re willing to Google solutions to problems because you may face some along the way. And learning to debug is a huge part of learning to code properly.
You get both from Pluralsight with one account so there aren’t any extra fees. Plus you can take this without any experience in coding so it’s a fantastic course regardless of your background.
This is a newer course so it does use Windows 8 and a newer IDE, although technically you can use any IDE you want.
Just keep this in mind as part of the Pluralsight library because it’s an excellent JS video course to learn from.
Again on Pluralsight this one takes beginners to a whole new level of thought. But it is still a very simple intro course so you don’t need any prior experience to start.
I’d say this course works best as a follow-up to one of the originals.
One other follow-up I really like is this course on how to setup your environment. The way you code and how you write code is crucial to understanding the language and using it on a regular basis.
You’ll learn how setting up an IDE and how to run projects properly with a Git repository. Later videos even get into GitHub teaching how to use it to publish your own code libraries.
Other topics include package management and npm/Node.js in a regular web dev workflow.
This course was first published in November 2016 so it’s incredibly relevant to modern coding.
Advanced Fundamentals to jQuery & Pure DOM Scripting
Once you understand the basics I highly recommend learning a JS library. Most of the top libraries are free so you can use them on any project without paying a cent.
This means you can work with one library for years and it’ll get easier & easier over time. By far the most popular choice is jQuery which is what you’ll learn about in this lengthy video course.
If you aren’t sure where to begin with jQuery I would 100% recommend this video course. It again comes with any Pluralsight account so you can study this alongside other courses and push your knowledge as far as it can go.
Learning OOP is the next natural step up from a rookie to a pro coder.
Object-oriented programming is a very complex series of ideas that surround building programs with objects and classes. And the ideas can be just as tough to learn as the actual JS code standards.
But is it necessary? Not really, provided that you have some knowledge of programming in another language like PHP.
Anyone getting into object-oriented work or anyone looking to advance their coding skills will appreciate this course. No doubt it’s one of the best on this subject.
WebGL and Three.js Fundamentals
To wrap with the Pluralsight courses I wanna mention the WebGL and Three.js Fundamentals video series.
There are no easy vanilla techniques for JS 3D design so it’s incredibly valuable to stick with a library. It just so happens Three.js is the most popular option so it’s really the best place to start.
The course is a couple years old but the information inside feels timeless.
If you’d rather go with a different teaching resource you can try Lynda. They have a tremendous library of courses aimed at beginners and experts like.
This follows the typical Lynda.com “essential training” format which teaches fundamentals and very simple concepts with crystal clear language.
The teacher Morten Rand-Hendriksen gently introduces new concepts over the total 5+ hour video series. I recommend this primarily to younger devs or newer devs just getting into the field.
Here’s a more technical Lynda training course with a direct focus on Async JS code. This topic can get pretty detailed but it basically describes how JS can load separately from the page, even after the page finishes loading!
Usually this relates to Ajax but can also relate to code(s) you enclose in a <script> tag.
Again just make sure you have some prior knowledge because this is a complex area of study.
As you build projects you’ll inevitably run into bugs. These are errors in your code that prevent JS from running properly.
This detailed video series covers 2 hours of exercises and preview code snippets for testing. You’ll learn absolutely everything about JS debugging from scratch with all the best browser extensions and IDE addons.
And once you learn how to debug you’ll never lose it. Kinda like riding a bike, you’ll struggle at first but the end result is a permanent improvement.
I absolutely recommend this Lynda course above all others if you’re trying to get into debugging.
It’s a real simple process once you grasp it but you’ll need someone to explain the process so it makes sense &emdash; and that’s exactly what you get in this course.
It does feel really short with only 2.5 hours of video. But what you’ll take away is a depth of practical knowledge and sample code snippets you can apply to the real world.
Most of this course is an intro guide so you really need to be comfortable working through the basics first. If you’re OK with that and like what you see in the preview video then definitely consider running this course.
JS is a language with a lot of quirks because it slowly grew into a stable piece of the modern frontend setup, although it was never supposed to.
It is by far one of the strongest languages you can learn but it also has a lot of weird behaviors that don’t carry from other programming languages.
In this course you’ll pick up all the fundamentals plus tips for typecasting, global scope variables, and handling Ajax requests.
The Web Developer Bootcamp
It is no question a real online boot camp and the video lessons total over 42 hours long. That’s almost two days of videos!
You can easily spend a couple months going through these lessons working out ideas to apply to your work.
It’s not an easy process and certainly not one of the easier courses you could study. But it’s really one big video series you can use to go from a complete novice to a skilled coder in JS and beyond.
Keep this in mind when you’re picking courses and look into some other options if you’re willing to combine this webdev intro with more detailed JS courses.