From basic to advanced, from trainee to senior.
Introductory Level — Knowledge base
Medium level- After about 2 — 3 months
A good point of the book is that the author not only talks about JS but also covers the underlying knowledge (what is the HTTP protocol, what the browser uses to send requests, etc.).
The book is a bit long, about 400 pages but with illustrations, there is a sample project for you to follow so you can take advantage of practice.
This book has a lot of good experiences, patterns and code samples that you won’t find in any other book.
Advanced level — When you want to go further
Reading and mastering these design patterns, when you encounter similar problems in coding, you will know how to apply them effectively.
In addition, if the junior just writes code to run, the senior must be different. At this level, you must know how to write code that is easy to read, understand, and maintain. So don’t read JS books, read more books like Clean Code, Code Complete.
Node — Up & Running + Mastering NodeJS:
If you work on the back-end, want to try with NodeJS, you should read these 2 books to understand the basics of the NodeJS runtime, along with how to write code to suit its asynchonous model.
At the beginning you should read and follow the book, because it has very important background knowledge that the video or tutorial doesn’t have. However, read, read, remember to code and do a pet project something.