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.
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.
- MEAP combo $39.99 pBook + eBook
- MEAP eBook $31.99 pdf + ePub + kindle
FREE domestic shipping on three or more pBooks