JavaScript Allongé cover page

JavaScript Allongé

JavaScript Allongé

A long pull of functions, combinators, & decorators

"This is a must-read for any developer who wants to know Javascript better... Reg has a way of explaining things in a way that connected the dots for me. This is probably the only programming book I've re-read cover to cover a dozen times or more."—etrinh
JavaScript Allongé Edit
This book is 100% complete


There is a new edition of this book here:
JavaScript Allongé, the "Six" Edition

About the Book

JavaScript Allongé has been retired. Please visit JavaScript Allongé, The “Six” Edition, the updated edition. The "Six" Edition covers the latest additions to the JavaScript language, including classes, iterators, generators, and much more. JavaScript Allongé, The “Six” Edition is also free to read online.

Read more

Table of Contents

  • A Pull of the Lever: Prefaces
    • Foreword by Michael Fogus
    • Foreword by Matthew Knox
    • Why JavaScript Allongé?
    • A Personal Word About The Recipes
    • Legend
    • JavaScript Allongé, the “Six” Edition
  • Prelude: Values and Expressions
    • values and expressions
    • values and identity
  • 1. 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
    • Let’s Talk Var
    • Naming Functions
    • Combinators and Function Decorators
    • Building Blocks
    • I’d Like to Have Some Arguments. Again.
    • Summary
  • 2. The Recipe Cheat Sheet
  • 3. Recipes with Basic Functions
    • Partial Application
    • Ellipses and improved Partial Application
    • Unary
    • Tap
    • Maybe
  • 4. The Pause That Refreshes: Rebinding and References
    • Arguments and Arrays
    • References and Objects
    • Reassignment and Mutation
    • How to Shoot Yourself in the Foot With Var
    • When Rebinding Meets Recursion
    • From Let to Modules
    • Summary
  • 5. Recipes with Rebinding and References
    • Once
    • mapWith
    • Flip
    • Extend
    • Why?
  • 6. Stir the Allongé: Objects, Mutation, and State
    • Encapsulating State with Closures
    • Composition and Extension
    • This and That
    • What Context Applies When We Call a Function?
    • Method Decorators
    • Summary
  • 7. Recipes with Objects, Mutations, and State
    • Memoize
    • getWith
    • pluckWith
    • Deep Mapping
  • 8. Finish the Cup: Instances and Classes
    • Prototypes are Simple, it’s the Explanations that are Hard To Understand
    • Binding Functions to Contexts
    • Partial Application, Binding, and Currying
    • A Class By Any Other Name
    • Object Methods
    • Extending Classes with Inheritance
    • Summary
  • 9. Recipes with Instances and Classes
    • Currying
    • Bound
    • Unbinding
    • Send
    • Invoke
    • Fluent
    • Once Again
  • 10. Sequence
    • Introduction: Compose and Pipeline
  • 11. New Ideas
    • How Prototypes and Constructors differ from Classes
    • New-Agnostic Constructors
    • Another New-Agnostic Constructor Pattern
    • Mixins
    • Class Decorators
    • Interlude: Tortoises, Hares, and Teleporting Turtles
    • Functional Iterators
    • Refactoring to Functional Iterators
    • A Drunken Walk Across A Chequerboard
    • Trampolining
  • 12. Recipes for New Ideas
    • Before
    • After
    • Provided and Except
    • A Functional Mixin Factory
    • A Class Decorator Factory
    • Iterator Recipes
  • The Golden Crema
    • Author’s Notes
    • How to run the examples
    • Thanks!
    • JavaScript Spessore
    • 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