Learn JavaScript Next
Explore the best new features of ECMAScript 2015, 2016, and beyond
JD Isaacks
  • MEAP began November 2016
  • Publication in Summer 2017 (estimated)
  • ISBN 9781617294204
  • 400 pages (estimated)
  • printed in black & white

Modern browsers, Node, and major libraries have already started to adopt next generation JavaScript features. Isn't it time for you to learn ES6 and ES7? They can make your JavaScript simpler to read, less prone to common errors, and much easier to use in asynchronous programs.

Learn Javascript Next teaches JavaScript developers the most important additions from both ES6 and ES7. This clearly-written guide to JavaScript's newest features contains lots of short easy-to-digest chapters and exercises to help you master each new concept. You'll start with the basics including new syntax, new variable declarations, new data types and methods, and ES6 Modules Then you'll learn more advanced topics, like Promises, Classes, Iterators, Async Functions, Generators, and Observables. By the end of this book, you'll be able to read and understand code examples and communicate with other devs using ES6 or later concepts.

Table of Contents detailed table of contents

Unit 0 Getting Setup

Lesson i Standards Process

Lesson ii Getting Setup with Babel & Browserify

Lesson iii Creating modules with Browserify

Unit 1 Variables & Strings

Lesson 1 Declaring Variables with let

1.1 How Scope Works with let

1.1.1 Why The Block Scope of let is Preferred

1.2 How Hoisting Works with let

1.3 Should I Use let Instead of var From Now On?

1.4 Quiz Answers

1.5 Exercise

Lesson 2 Declaring constants with const

2.1 How Constants Work

2.2 When to Use Constants

2.3 Quiz Answers

2.4 Exercise

2.5 Summary

Lesson 3 New String Methods

3.1 Searching Strings

3.2 Padding Strings

3.3 Summary

3.4 Exercise

3.5 Quiz Answers

Lesson 4 Template Literals

4.1 What are Template Literals?

4.1.1 String Interpolation with Template Literals

4.1.2 Multiline Strings with Template Literals

4.2 Template Literals are not Reusable Templates

4.3 Custom Processing with Tagged Template Literals

4.4 Summary

4.5 Exercise

4.6 Quiz Answers

Capstone 1 Building a Domain Specific Language

C1.1 Create Some Helper Functions

C1.2 Create An HTML Escaping DSL

C1.3 Create a DSL for Converting Arrays Into HTML

C1.4 Summary

Unit 2 Objects & Arrays

Lesson 5 New Array Methods

5.1 Constructing Arrays with Array.from

5.2 Constructing Arrays with Array.of

5.3 Constructing Arrays with Array.prototype.fill

5.4 Searching in Arrays with Array.prototype.includes

5.5 Searching in Arrays with Array.prototype.find

5.6 Summary

5.7 Exercise

5.8 Quiz Answers

Lesson 6 Object.assign

6.1 Setting Default Values with Object.assign

6.2 Extending Objects with Object.assign

6.3 Preventing Mutations When Using Object.assign

6.4 How Object.assign Assigns Values

6.5 Summary

6.6 Exercise

6.7 Quiz Answers

Lesson 7 Destructuring

7.1 Destructuring Objects

7.2 Destructuring Arrays

7.3 Combining Array & Object Destructuring

7.4 What Types Can Be Destructured

7.5 Summary

7.6 Exercise

7.7 Quiz Answers

Lesson 8 New Object Literal Syntax

8.1 Shorthand Property Names

8.2 Shorthand Method Names

8.3 Computed Property Names

8.4 Summary

8.5 Exercise

8.6 Quiz Answers

Lesson 9 Symbol - A New Primitive

9.1 Using Symbols as Constants

9.2 Using Symbols as Object Keys

9.3 Creating Behavior Hooks with Global Symbols

9.4 Modifying Object Behavior with Well Known Symbols

9.5 Symbol Gotchas

9.6 Summary

9.7 Exercise

9.8 Quiz Answers

Capstone 2 Simulating a Lock & Key

C2.1 Creating the Lock & Key System

C2.2 Creating a Choose the Door Game

Unit 3 Functions

Lesson 10 Default Parameters & Rest

Lesson 11 Destructuring Parameters

Lesson 12 Arrow Functions

Lesson 13 Generator Functions

Capstone 3 The Prisoner’s Dilemma

Unit 4 Modules

Lesson 14 ES5 Modularizing Strategies

Lesson 15 ES6 Modules

Capstone 4

Unit 5 Iterators

Lesson 16 Iteration

Lesson 17 Spread

Lesson 18 Maps

Lesson 19 Sets

Lesson 20 WeakMaps & WeakSets

Lesson 21 Generators

Capstone 5

Unit 6 Classes

Lesson 22 Classes

Lesson 23 Extending Classes

Lesson 24 Decorators

Capstone 6

Unit 7 Working Asynchronously

Lesson 25 Using Promises

Lesson 26 Defining Promises

Lesson 27 Promise Error Handling

Lesson 28 Async Functions

Capstone 7

Unit 8 Working Reactively

Lesson 29 Intro to Reactive Programming with Observables

Lesson 30 Creating Observables

Lesson 31 Hot vs Cold Observables

Lesson 32 Manipulating Observables

Lesson 33 RxJS

Capstone 8

What's inside

  • Learn the new features of ES6 (ES2015)
  • Use all of the newest JavaScript features right away
  • Setup an ES6/7 project using Babel and Browserify
  • Writing elegant asynchronous code with async functions, generators, and promises
  • Using classes instead of constructors
  • Creating custom iterables and modifying built in ones
  • Using and troubleshooting modules and classes to build complex applications

About the reader

This book is for developers who are comfortable writing basic Javascript code. Knowledge of the DOM and Node.js will be helpful, but not required.

About the author

J.D. Isaacks has been a developer for over 10 years, focusing on EcmaScript-based languages and is a Javascript instructor for The Iron Yard. He has contributed to projects including React, Backbone, and D3. He is also a member of both the Bower.js and Moment.js teams and the creator of GitGutter, one of the most popular Sublime Text packages.


Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
Buy
  • MEAP combo $39.99 pBook + eBook
  • MEAP eBook $31.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks