Kyle Simpson is an Open Web Evangelist from Austin, TX, who's passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contributor/leader.
This book is undoubtedly helpful if you’re trying to brush up on your JS skills, but the author is comically self-involved. It feels like he can’t go a paragraph without insisting you review his words over and over and realize just what a useful resource he’s put in your hands. It’s a good reference, but I was nowhere near as impressed by it as its own author seems to be!
Very useful supplement to more practical introductions to JS like the O'Reilly Definitive Guide. Simpson's introduction takes a high-level conceptual look at the nuts and bolts of JavaScript with an eye toward alerting the novice to the importance of understanding how things work.
In particular, he promotes a paradigm for JS programming that he describes as going "with the grain". As I understand it, that basically means understanding how JavaScript works and thinking about programming in terms of its actual mechanics rather than the surface it presents. In one important example, he effectively argues that JS simulates class inheritance when what is really going on is object delegation, and he recommends understanding inheritance in terms of prototypes connecting various objects rather than falling into the trap of thinking about it in more conventional OOP terms.
I'm not qualified at this point to judge that approach, but I have to say on a theoretical level alone I found it extremely persuasive.
Every programming language should have books like this. The effect of reading it is like being introduced by a knowledgeable friend to the quirks and basics of a new language. It is most certainly not a comprehensive general introduction, but fulfills a valuable role. I look forward to reading more of Simpson's books.
Two minor complaints. First, wow, is it expensive - I paid 23 € for this breezy < 130 page book. That is too much. Second, the handful of exercises are not particularly illuminating and are underexplained.
Update: Hm, I may have over-valued the novelty of Simpson's approach. The MDN Web Docs are also very clear about JS's character as a prototype-based language, saying, for example:
"JavaScript classes, introduced in ECMAScript 2015, are primarily syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax does not introduce a new object-oriented inheritance model to JavaScript."
They actually get this across with a bit less hand-waving.
I'm an experienced software engineer who wanted to build a good foundation with JS. The idea to look into the concepts, into the core, appealed to me.
However, ¾ of this book is fluff. The author starts to tell you multiple times to really exercise and think through everything he is going to tell you. Then, when finally explaining a concept, he keeps reminding you to *really* try to understand it and do exercises. Finally, he concludes that you should really really try to understand what he just introduced.
I mean, sure, you should try to understand what is explained, but the constant reminders throughout the book are unnecessary. The book could have been much shorter without loosing any content.
Unfortunately, I need to recommend to look into other books, you won't miss out on a lot if you're skipping this one.
This is easily my favorite series on JavaScript so far. I caught wind of this series when I first started learning to code, and though it’s not really written for beginners, I still dove in and gleaned all that I could from it. And it’s made an enormous impact in how I approach the code I write. That was the first edition. This second edition is even more helpful, especially now that I have far more experience with JS. I’m looking forward to reading the rest of the books as they’re released.
I've been coding in JS for the last 3 years now (mostly NodeJS) but this book gave me some amazing insights into things I didn't know before.
This book introduces the 4 pillars of what makes JS special without actually the regular parts of it. 1. Scopes and Closures 2. Prototypes and Inheritance 3. Types and Grammar
This is a good book series and should be read by everyone who deals with JS.