JavaScript Allongé, the "Six" Edition cover page
JavaScript Allongé, the "Six" Edition

JavaScript Allongé, the "Six" Edition

Programming from Functions to Classes in ECMAScript 2015


A long pull of functions, combinators, & decorators, updated to include the latest ES-6 features.
JavaScript Allongé, the "Six" Edition Edit
This book is 100% Complete

Updated

  • $26.99

    Minimum

  • $34.99

    Suggested

Bundles

JavaScript Allongé, the "Six" Edition
CoffeeScript Ristretto
Kestrels, Quirky Birds, and Hopeless Egocentricity

Coffee, Kestrels, and Code

  • $62.97

    Regular Price

  • $44.99

    Bundle Price

3 Books

Learn more
Exploring ES6
JavaScript Allongé, the "Six" Edition

ES6: from Fundamentals to Features

  • $54.99

    Regular Price

  • $44.99

    Bundle Price

2 Books

Learn more

About the Book

What readers have to say:

“Spent the afternoon reading @raganwald's JavaScript Allongé, the Six Edition. Highly recommended. Let the refactoring begin!”—Marcus Vorwaller 

“I think it’s one of the best tech books I’ve read since Sedgewick’s Algorithms in C.”—Andrey Sidorov

“Your explanation of closures in JavaScript Allongé is the best I've read.”—Emehrkay

“It's a different approach to JavaScript than you'll find in most other places and shines a light on some of the more elegant parts of JavaScript the language.”—@jeremymorrell

“This book is awesome and blowing my mind in a great way.”—Johnathan Mukai
“Enjoying Javascript Allonge... I think it's the best discussion of functional programming in js I've found so far.”—Nicholas Faiz
“Reading JavaScript Allongé by @raganwald. This book is so good that it's blowing my mind.”—Guillermo Pascual

And listen to the JavaScript Jabber Book Club Podcast about JavaScript Allongé!

Read More

Table of Contents

  • A Pull of the Lever: Prefaces
    • About JavaScript Allongé
    • What JavaScript Allongé is. And isn’t.
    • Forwards to the First Edition
    • A Personal Word About The Recipes
    • Legend
  • 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
    • Summary
  • Recipes with Basic Functions
    • Partial Application
    • Unary
    • Tap
    • Maybe
    • Once
  • Picking the Bean: Choice and Truthiness
  • Composing and Decomposing Data
    • Arrays and Destructuring Arguments
    • Self-Similarity
    • Tail Calls (and Default Arguments)
    • Garbage, Garbage Everywhere
    • Plain Old JavaScript Objects
    • Mutation
    • Reassignment
    • Copy on Write
    • Tortoises, Hares, and Teleporting Turtles
    • Functional Iterators
    • Making Data Out Of Functions
  • Recipes with Data
    • mapWith
    • Flip
    • Why?
  • 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
    • Summary
  • Recipes with Objects, Mutations, and State
    • Memoize
    • getWith
    • pluckWith
    • 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
    • More Iterable Mapping Operations
    • 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
    • Constructors and new
    • Why Classes in JavaScript?
    • Classes with class
    • Object Methods
    • Why Not Classes?
    • Summary
  • Recipes with Constructors and Classes
    • Bound
    • Send
    • Invoke
    • Fluent
  • Colourful Mugs: Symmetry, Colour, and Charm
  • Biscotti on the Side: Method Decorators
  • Con Panna: Composing Class Behaviour
    • Extending Classes with Mixins
    • Functional Mixins
    • Preventing Property Conflicts
    • Reducing Coupling
    • Resolving Conflicts with Policies
  • Closing Time at the Coffeeshop: Final Remarks
  • The Golden Crema: Appendices and Afterwords
    • How to run the examples
    • Thanks!
    • JavaScript Spessore
    • Reading JavaScript Allongé on Kindle
    • Copyright Notice
    • About The Author

Read More

About the Author

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up.
See full terms