reason, need to stick to ES5, this may not be the book for you (though I hope you will
return to it at some point in the future!).
The editorial choice to focus on ES6 was made carefully. The improvements in ES6
are significant enough that it would have been difficult to maintain a clear pedagogi‐
cal framework. In short, a book that attempts to cover ES5 and ES6 would do both
topics a disservice.
Who This Book Is For
This book is primarily for readers who already have some experience with program‐
ming (even an introductory programming class, or an online course). If you’re new to
programming, this book will be helpful, but you might want to supplement it with an
introductory text or class.
Those who already have some JavaScript experience (especially if it’s only in ES5) will
find a practical and thorough coverage of important language concepts.
Programmers who are coming from another language should feel right at home with
the content in this book.
This book does attempt to comprehensively cover the language features, related tools,
techniques, and paradigms that drive modern JavaScript development. Therefore, the
material in this book necessarily ranges from the simple and straightforward (vari‐
ables, control flow, functions) to the complicated and esoteric (asynchronous pro‐
gramming, regular expressions). Depending on your level of experience, you may
find some chapters more challenging than others: the beginning programmer will no
doubt need to revisit some of the material more than once.
What This Book Is Not
This book is not a comprehensive reference to JavaScript or its related libraries. The
Mozilla Developer Network (MDN) maintains an excellent, thorough, up-to-date,
and free
, which will be referenced liberally throughout
this book. If you prefer a physical book, David Flanagan’s
is quite comprehensive (though it does not cover ES6 at the time of this writ‐
ing).
Conventions Used in This Book
The following typographical conventions are used in this book:
Italic
Indicates new terms, URLs, email addresses, filenames, and file extensions.
xviii | Preface