Exploit the Power of Modern JavaScript and Avoid the Pitfalls JavaScript was originally designed for small-scale programming in web browsers, but modern JavaScript is radically different. Nowadays, JavaScript programmers actively embrace functional, object-oriented, and asynchronous programming, while deprecating error-prone concepts from the past. Modern JavaScript for the Impatient is a complete yet concise guide to JavaScript E6 and beyond. Rather than first requiring you to learn and transition from older versions, it helps you quickly get productive with today’s far more powerful versions and rapidly move from languages such as Java, C#, C, or C++. Bestselling programming author Cay S. Horstmann covers all you need to know, provided in small chunks organized for quick access and easy understanding. Horstmann’s practical insights and sample code help you take advantage of all that’s new, avoid common pitfalls and obsolete features, and make the most of modern JavaScript’s robust toolchains and frameworks. Quickly master modern JavaScript’s implementation of fundamental programming constructs Avoid legacy techniques that create unnecessary complexity and risk Make the most of functional, object-oriented, and asynchronous techniques Use modules to efficiently organize and run complex programs Write more powerful, flexible, and concise programs with metaprogramming Extend JavaScript’s power via JavaScript libraries, frameworks, and platforms Whether you’re just getting started with JavaScript or you’re an experienced developer, this guide will help you write tomorrow’s most robust, efficient, and secure JavaScript code. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
I've enjoyed all the books in the “impatient” series, so it is no surprise I enjoyed “Modern JavaScript for the Impatient.”
I like that Cay focuses on “modern JavaScript” over “obsolete JavaScript.” (I last used JavaScript professionally many years ago so I'm well learned in “obsolete JavaScript”). I also like that Cay has four icons used for chapters (or sections) showing the level of difficulty. I'm listing them here because it gives you a feel for how Cay focuses in on what different types of readers would need. 1) Impatient bunny – basics that everyone should learn 2) Alice – intermediate topics that everyone should understand, but maybe not on first reading 3) Cheshire cat – advanced topic that will put a smile on the face of a framework developer 4) Mad hatter – complex and maddening topic for those with morbid curiosity
Seeing the icons as I read definitely put a smile on my face as I kept thinking of Alice in Wonderland.
Like all “Impatient” books, there are helpful notes/warnings throughout and exercises at the end of each chapter to reinforce your reading. I think this book would be too fast paced for someone's first programming book. However,this book is an excellent read if you are comfortable with ANY other language.
The code examples in each chapter helped me get up to speed quickly. I read the Impatient bunny and Alice parts. My brain was too full for the rest. I did like that there was a chapter on TypeScript at the end. I hear the front end folks talking about it all of the time!
---
Disclosure: I received a free copy of this book from the publisher in exchange for writing this review.
As a coder who hasn't coded in a long while who wanted to get up to speed on modern JavaScript, this was the perfect book. It spared me from book fillers such like a lengthy history of the web and browser (interesting yes, but in a different book). Because it was concise and well written, I flew through it rapidly, enjoying the combination of refresher and update on new concepts (i.e. callback hell > promises > await).
I read the entire book and ran all the examples, but I only did some of the exercises.
I think it achieves its goal. For those with experience in a C-like programming language (I have experience in Java), it is much easier to follow the book.
However, I believe it suffers from two major problems. 1) Some explanations could be better achieved or easier to understand, and there are rarely two examples of the same thing. As the book is very condensed (short), if I don't understand some part I am forced to go back, once or twice, or to the beginning of the chapter. There is no possibility of being inattentive in any paragraph. 2) Because it demands a lot of concentration, it becomes tiring, and by two-thirds of the book, I just wanted it to end.
The book would benefit greatly if it had just about 100 more pages, which would allow for more examples and more gradual and paced explanations.