There is no better time than now to be working with JavaScript. Over the last few years, we've seen JavaScript go from being the language no one really wanted to touch to being the language that everyone can't wait to get their hands on. Large, complicated applications are being built everyday in browsers and are exercising and pushing JavaScript further than it has ever been pushed before. Frameworks and entirely new approaches to application design have spawned to meet the demands of this new world of client-side development, and the community has rallied around them.
With ECMAScript 2015, or ES6 as it's commonly known, we finally have the language to match our lofty ambitions. We've gained large, much needed functionalities, such as Promises, and a module system that is native to the language; we've also gained smaller, more subtle additions that make day-to-day development more enjoyable. Get familiar with object destructuring, and you'll wonder how you ever wrote JavaScript without it; use an arrow function for the first time, and you'll never want to type "function" again. Avoid the complications of function scope and leaky variables with "let", and you'll spend less time bashing your head against the desk.
Not only is ES6 a great language and an incredible upgrade on ES5, but the hard work of many members of the community also means that you can use it today and not have to wait for complete implementations in browsers. Tools exist to let you convert your ES6 code into ES5 compliant code, meaning the future's now, not 5 years down the line, as it so often is with JavaScript.
This book will guide you through a selection of the most useful additions to JavaScript and bring you up to the speed with the current functionality available to you. You'll learn how building modular applications is much easier with ES6's native module system and how your code can become cleaner, more succinct, and more enjoyable to work with. Learning this new standard is a daunting task for any developer, and I'm delighted to contribute a foreword toward a book that will make this task much less daunting.
This brave new world of JavaScript, client-side applications, frameworks, and more is being powered by ES6, and this book will help you take your first steps toward it. I hope you end this book as excited as I am.
Jack Franklin
JavaScript Developer at GoCardless
@Jack_Franklin