Understanding ECMAScript 6
Understanding ECMAScript 6
About the Book
What you'll learn:
- All of the changes to the language since ECMAScript 5
- Why iterators and generators are useful
- How arrow functions are differ from regular functions
- Additional options for storing data using sets, maps, and more
- The power of inheriting from native types
- Why people are so excited about promises for asynchronous programming
- How modules will change the way you organize code
- The Road to ECMAScript 6
- About This Book
- Var Declarations and Hoisting
- Block-Level Declarations
- Block Binding in Loops
- Global Block Bindings
- Emerging Best Practices for Block Bindings
Strings and Regular Expressions
- Better Unicode Support
- Other String Changes
- Other Regular Expression Changes
- Template Literals
- Functions with Default Parameter Values
- Working with Unnamed Parameters
- Increased Capabilities of the Function Constructor
- The Spread Operator
- ECMAScript 6’s name Property
- Clarifying the Dual Purpose of Functions
- Block-Level Functions
- Arrow Functions
- Tail Call Optimization
Expanded Object Functionality
- Object Categories
- Object Literal Syntax Extensions
- New Methods
- Duplicate Object Literal Properties
- Own Property Enumeration Order
- More Powerful Prototypes
- A Formal Method Definition
Destructuring for Easier Data Access
- Why is Destructuring Useful?
- Object Destructuring
- Array Destructuring
- Mixed Destructuring
- Destructured Parameters
Symbols and Symbol Properties
- Creating Symbols
- Using Symbols
- Sharing Symbols
- Symbol Coercion
- Retrieving Symbol Properties
- Exposing Internal Operations with Well-Known Symbols
Sets and Maps
- Sets and Maps in ECMAScript 5
- Problems with Workarounds
- Sets in ECMAScript 6
- Maps in ECMAScript 6
Iterators and Generators
- The Loop Problem
- What are Iterators?
- What Are Generators?
- Iterables and for-of
- Built-in Iterators
- The Spread Operator and Non-Array Iterables
- Advanced Iterator Functionality
- Asynchronous Task Running
- Class-Like Structures in ECMAScript 5
- Class Declarations
- Class Expressions
- Classes as First-Class Citizens
- Accessor Properties
- Computed Member Names
- Generator Methods
- Static Members
- Inheritance with Derived Classes
- Using new.target in Class Constructors
Improved Array Capabilities
- Creating Arrays
- New Methods on All Arrays
- Typed Arrays
- Similarities Between Typed and Regular Arrays
- Differences Between Typed and Regular Arrays
Promises and Asynchronous Programming
- Asynchronous Programming Background
- Promise Basics
- Global Promise Rejection Handling
- Chaining Promises
- Responding to Multiple Promises
- Inheriting from Promises
Proxies and the Reflection API
- The Array Problem
- What are Proxies and Reflection?
- Creating a Simple Proxy
Validating Properties Using the
Object Shape Validation Using the
Hiding Property Existence Using the
Preventing Property Deletion with the
- Prototype Proxy Traps
- Object Extensibility Traps
- Property Descriptor Traps
Function Proxies with the
- Revocable Proxies
- Solving the Array Problem
- Using a Proxy as a Prototype
Encapsulating Code With Modules
- What are Modules?
- Basic Exporting
- Basic Importing
- Renaming Exports and Imports
- Default Values in Modules
- Re-exporting a Binding
- Importing Without Bindings
- Loading Modules
Appendix A: Smaller Changes
- Working with Integers
- New Math Methods
- Unicode Identifiers
Appendix B: Understanding ECMAScript 7 (2016)
- The Exponentiation Operator
- The Array.prototype.includes() Method
- Change to Function-Scoped Strict Mode
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.