Programming from Functions to Classes in ECMAScript 2015
About the Book
What readers have to say:
“I think it’s one of the best tech books I’ve read since Sedgewick’s Algorithms in C.”—Andrey Sidorov
Author, “Exploring ES6"
A Pull of the Lever: Prefaces
- Foreword to the “Six” edition
- Forewords to the First Edition
Prelude: Values and Expressions over Coffee
- values are expressions
- values and identity
- A Rich Aroma: Basic Numbers
The first sip: Basic Functions
- As Little As Possible About Functions, But No Less
- Ah. I’d Like to Have an Argument, Please.
- Closures and Scope
- That Constant Coffee Craving
- Naming Functions
- Combinators and Function Decorators
- Building Blocks
- Magic Names
Recipes with Basic Functions
- Partial Application
- Left-Variadic Functions
- Compose and Pipeline
- Picking the Bean: Choice and Truthiness
Composing and Decomposing Data
- Arrays and Destructuring Arguments
- Tail Calls (and Default Arguments)
- Garbage, Garbage Everywhere
- Copy on Write
- Tortoises, Hares, and Teleporting Turtles
- Functional Iterators
- Making Data Out Of Functions
Recipes with Data
- A Warm Cup: Basic Strings and Quasi-Literals
Stir the Allongé: Objects and State
- Encapsulating State with Closures
- Composition and Extension
- This and That
- What Context Applies When We Call a Function?
- Method Decorators
Recipes with Objects, Mutations, and State
- Deep Mapping
- The Coffee Factory: “Object-Oriented Programming”
Served by the Pot: Collections
- Iteration and Iterables
- Generating Iterables
- Lazy and Eager Collections
- Interlude: The Carpenter Interviews for a Job
- Interactive Generators
- Basic Operations on Iterables
- A Coffeehouse: Symbols
Life on the Plantation: Metaobjects
- Why Metaobjects?
- Mixins, Forwarding, and Delegation
- Later Binding
- Delegation via Prototypes
- Shared Prototypes
- Decaffeinated: Impostors
Finish the Cup: Constructors and Classes
- Object Methods
- Why Not Classes?
- Constructors and
Recipes with Constructors and Classes
- Colourful Mugs: Symmetry, Colour, and Charm
Con Panna: Composing Class Behaviour
- Extending Classes with Mixins
- Functional Mixins
- Emulating Multiple Inheritance
- Preventing Property Conflicts
- Reducing Coupling
- Stateful Method Decorators
- Class Decorators beyond ES6/ECMAScript 2015
- Method Decorators beyond ES6/ECMAScript 2015
- Lightweight Traits
More Decorator Recipes
- After Method Advice
- Before Method Advice
- Provided and Unless
- Method Advice
- Closing Time at the Coffeeshop: Final Remarks
The Golden Crema: Appendices and Afterwords
- How to run the examples
- Copyright Notice
- About The Author
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.
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.