Understanding ECMAScript 6 delivers exactly what the subtitle proclaims, the definitive guide for JavaScript developers. While I have been working with Javascript for years now (and particularly ECMAScript when I was developing for Flash) I hadn’t really kept up with the recent developments. JavaScript always seemed to be missing important OOP concepts like classes or inheritance, and the ways to “fake” them with objects always seemed like a hack to me. Thankfully, ECMAScript 6 (or, rather, ECMAScript 2015) addresses these concerns and build JavaScript into a much more elegant language than ever before. If you want to get up to speed with the latest and greatest, I can’t think of a better resource than this book.

Nicholas C. Zakas does a great job here of showing all the new functionality in ECMAScript, and also how it compares to the older standard. The chapters in the book delve into block bindings, strings and regular expressions, functions, destructuring, symbols, sets and maps, iterators and generators, classes, promises, proxies, and modules. Each code example is self-contained, and the author shows a number of samples for each concept, making it easier to understand step by step. He even starts with how it was done in ES5, so you can see familiar concepts transformed into their modern equivalents. I learned quite a lot here from this text, and feel like I’m ready to start coding in ES6, even though this was the first book I read on the topic. It’s that good.

One thing to note, this is not an introduction to JavaScript. The author assumes you are already proficient at the intermediate to advanced level, and does not waste time trying to explain the fundamentals. If you are just starting out, this book will probably be too advanced and confusing, you should have a good handle on JS first before embarking here.

Overall, I think this is a premiere quality resource to go on your shelf (or digital library, if you buy the e-book version). The Kindle version looked particularly good on my tablet, and the text and code were formatted well. At around 350 pages, the book is not super long but manages to explain everything in vivid detail. I could tell Zakas had a full understanding of what he was teaching, and each example was clear and to the point. Some of the later chapters (the one on proxies, in specific) were a little obscure, but I liked that he went the extra mile to cover everything. Honestly, I’ve read a ton of programming books, and this is one of the best. Well worth picking up if you even have the slightest interest in coding modern JavaScript.