small medium large xlarge

Rediscovering JavaScript: Master ES6, ES7, and ES8


Cover image for Rediscovering JavaScript

Rediscovering JavaScript

Master ES6, ES7, and ES8


JavaScript is no longer to be feared or loathed—the world’s most popular and ubiquitous language has evolved into a respectable language. Whether you’re writing front-end applications or server-side code, the phenomenal features from ES6 and beyond—like the rest operator, generators, destructuring, object literals, arrow functions, modern classes, promises, async, and metaprogramming capabilities—will get you excited and eager to program with JavaScript. You’ve found the right book to get started quickly and dive deep into the essence of modern JavaScript. Learn practical tips to apply the elegant parts of the language and the gotchas to avoid.

Customer Reviews

JavaScript used to only have a few “good parts.” Now most of the parts are good.
Although legacy features still remain, new features provided in the ES6/7/8
standards can help you write safer, simpler, and more concise code…but only if
you know about them. In this book, Venkat shows everyone, from beginners to
experts, how to use the modern language that JavaScript has become.

- Ben Rady

Author of "Serverless Single Page Apps" and "Continuous Testing with Ruby, Rails, and JavaScript"

This concise and brilliant introduction to modern JavaScript keeps the reader
engaged by employing simple and direct language, coupled with focused examples
and exercises that facilitate rapid learning. Recommended for anyone who wants
to discover the joys of ES6/7/8.

- Suresh Iyer

Polyglot Programmer and Senior Staff Applications Engineer, ServiceNow

Once again, Venkat manages to distill into a concise work the most important
changes in the evolution of JavaScript. If you want to update your knowledge of
the most ubiquitous language in record time, this book is for you.

- Brian Sam-Bodden

, Integrallis Software

If you tried and abandoned JavaScript long ago, it’s time to give it a fresh look.
This book teaches you all the improvements that bring the language into the
21st century.

- Kenneth A. Kousen

Java Champion and author of multiple books, including "Modern Java Recipes"

See All Reviews

Choose Your Format(s)

  • $24.95 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

To try out the examples in the book you will need a computer with Node.js, a text editor, and a browser like Chrome installed in it.

Contents & Extracts

  • Acknowledgements
  • Introduction
  • The Safe Alternatives
    • JavaScript Gotchas
      • Be Careful Where You Break Lines
      • Use === Instead of ==
      • Declare Before Use
      • Stay One Step Ahead
      • Wrapping Up
    • Variables and Constants excerpt
      • Out with var
      • In with let
      • Perils of Mutability
      • const
      • Safer Code with let and const
      • Prefer const over let
      • Wrapping Up
    • Working with Function Arguments excerpt
      • The Power and Perils of arguments
      • Using the Rest Parameter
      • The Spread Operator
      • Defining Default Values for Parameters
      • Wrapping Up
  • Nice Additions
    • Iterators and Symbols
      • The Convenience of Enhanced for
      • Symbol—A New Primitive Type
      • Using Custom Iterators and Generators
      • Creating Infinite Iterators
      • Wrapping Up
    • Arrow Functions and Functional Style
      • From Anonymous to Arrow Functions
      • Anonymous vs. Arrow Functions
      • Limitations of Arrow Functions
      • When to Use Arrow Functions
      • Arrow Functions and Functional Style
      • Wrapping Up
    • Literals and Destructuring
      • Using Template Literals
      • Multiline Strings
      • Tagged Template
      • Enhanced Object Literals
      • Destructuring
      • Wrapping Up
  • OO and Modular Code
    • Working with Classes excerpt
      • Creating a Class
      • Implementing a Constructor
      • Defining a Method
      • Defining Computed Members
      • Creating Properties
      • Defining Class Members
      • Class Expressions
      • New Built-in Classes: Set, Map, WeakSet, and WeakMap
      • Wrapping Up
    • Using Inheritance
      • Understanding Prototypal Inheritance
      • Inheriting from a Class
      • Managing Instance Types with species
      • Wrapping Up
    • Using Modules
      • Creating a Module
      • Exporting from a Module
      • Importing from a Module
      • Wrapping Up
  • Going Meta
    • Keeping Your Promises
      • No Thanks to Callback Hell
      • Promises to the Rescue
      • Ways to Create a Promise
      • Chaining Promises
      • Working with Multiple Promises
      • Async and Await
      • Wrapping Up
    • Exploring Metaprogramming
      • The Power and Perils of Metaprogramming
      • Dynamic Access
      • Member Injection
      • Wrapping Up
    • Deep Dive into Metaprogramming
      • Purpose of Reflect
      • Metaprogramming with Proxy
      • Synthesizing Members with Proxy
      • Using Decorators
      • Wrapping Up


Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly invited speaker at several international conferences. He’s the (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer.