EDIT: I wrote this just after I started learning but updated it with new resources and links just before I launched my personal site three years later.
So as mentioned before, Wes Bos's Beginner JavaScript Course was the first JS course I felt I could actually follow. This gave me a rapid overview of what JS was all about, then I stumbled across Chris Ferdinandi's Go Make Things
I loved the content, straight-forward easy to understand approach of this site. Sometimes a little too standard, Chris thinks nothing about writing a huge bunch of more complex code to include people stuck with IE. But at least he explains why. While there I noticed a link for JS Academy....which I've just finished.
This course is gold. If I get anywhere with JS the vast majority of my initail progress and confidence will be down to this course. It's not easy, it's 10 weeks of relentless lessons, and projects that immediately require you to apply the knowledge you've just been taught. The basic format is something like:
Here's a few 3-5 minute lessons on basic concepts that seem pretty straight forward, now spend the next 2-3 hours battling with this project and applying what I just taught in you in a cool and kinda fun way.
It hurt but loved it.
On the last day of the course I was really struggling and my wife asked me what the key elements of the challenge were, I explained, much to my own astonishment that the project involved, calling data from an API, rendering the data into HTML using a state-based approach so that any changes were automatically updated on the page, while also storing key parts of the data in local storage, so that they were retrieved whenever the page reloaded.
I wouldn't have even understood what most of that even meant 10 weeks ago.
Full disclosure, that challenge also involved filtering the data according to whether radio buttons were checked or not, I failed on that count but managed all the rest! I had to put in a good chunk of time to keep up with the course, and understand what was going on, probably an hour or two every other day to start with, building up to 3+ hours a day on the later projects.
I actually took a few days off towards the end of the course to review some of the aspects I had more difficulty with (e.g. state based UI).
The other great aspect of this course is the support. There's a dedicated slack channel for each cohort, which was really, really helpful. Chris himself, and Kieran Barker, were constantly replying to questions and issues, and despite being one of the less experienced students, I felt really supported and always able to ask any questions. Chris also runs an office hours every two weeks, which is a zoom call every couple of weeks where people could ask questions; again super useful, and I really enjoyed these calls.
If you have a basic knowledge of JS and want to take it to the next level, and have the time and energy, I can't recommend this course enough. It has really helped me learn how to approach problems, find information and search for solutions. It's taught me not just what this or that JS method does, although I learnt that as well, but how to approach coding problems, how to work through them, and the joy of finding a solution that works.
[EDIT: Chris gives his alumni a massive discount if they want to do the course again so I've done the course once more since I wrote this. It's just as good the second time around.]