Great book to read if you are considering becoming a front-end developer! Instead of just "tolerating JavaScript's quirks", the author taught me how to use the language's unique features to build maintanable applications eloquently.
Used the 2nd edition as a textbook in college a few years ago. Highly recommended to anyone who has at least a little programming experience and wants to learn Javascript.
I've been learning fundamental concepts of web development coming from UX for a couple years now and this text has been absolutely instrumental in my learning. Highly recommended!
I would say this is definitely not a good book for beginners with little to no programming experience. I don't know anyone who got past chapter 6 who was not already very familiar with programming patterns. I would try the You Don't Know JS series or JavaScript the Good Parts instead.
But YDKJS is even more advanced and topic-focused (do beginners know what JS topic they want to tackle?), and Javascript the Good Parts is old to the point where you mind as well read a clean coding book unrelated to JS.
I'd recommend MDN, which has various entry points for HTML, CSS, and JS. It's not just documentation. This is their JS section, which has entry points for beginners, intermediates, and experts, and will walk over a good survey of the language.
I don't think "You don't know JS" is good for a beginner, either. It delves very deep into some JS core mechanics and explains them with a lot of foo/bar/baz code that a beginner can hardly relate to since he's not likely to encounter those use cases or patterns until he is more advanced.