Since I first started learning a couple of years ago, some of these might be considered outdated, or using some tools or methods that have since been updated; I still included them, since it's not only about the code, but teaching some very important principles that can be applied to most programming languages and tools.
(the fact there's 5 is purely coincidental :) )
by Jon Duckett
Even though it might be considered "old", it is still one of the best laid-out, organized and illustrated books I've ever studied from.
It is beautifully designed, with graphs, illustrations and visual aids that help immensely with understanding the point.
Perfect for visual learners, as well as a reference book for when you need to revisit the fundamentals!
One thing worth noting is, if you are getting this book, make sure to get the latest edition, since the early ones had some errors in them.
by Gordon Zhu
A great free online course that does a great job of explaining some of the most important concepts, such as functions, objects and conditional logic.
It stresses the importance of planning your app's features in advance (instead of jumping straight into coding), and grouping your code into objects - for the sake of better readability and organization, as well as slowly leading us into the world of OOP.
by Traversy Media
My most favorite YouTube tutorials are made by Brad Traversy, AKA Traversy Media, but of course, there are many others.
Brad has a huge repository of high-quality videos, with everything a Front-end developer might need, as well as a couple of other topics.
by Wes Bos
A very fun and a bit more advanced collection of 30 exercises and cool mini-projects, each focusing on a different JS feature.
by Kyle Simpson
Just like with the previous one, I recommend previous basic JS knowledge.
As allways, feel free to send me questions or suggestions for more posts.
Any question regarding JS or other tools, I'll try to answer the best I can.
Have a great week!