JavaScript Allongé, the "Six" Edition
JavaScript Allongé, the "Six" Edition
$26.99
Minimum
$34.99
Suggested
JavaScript Allongé, the "Six" Edition

This book is 100% complete

Completed on 2017-11-03

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

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

“Reading JavaScript Allongé by @raganwald. This book is so good that it's blowing my mind.”—Guillermo Pascual

Table of Contents

  • A Pull of the Lever: Prefaces
    • About JavaScript Allongé
    • What JavaScript Allongé is. And isn’t.
    • 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
    • Summary
  • Recipes with Basic Functions
    • Partial Application
    • Unary
    • Tap
    • Maybe
    • Once
    • Left-Variadic Functions
    • Compose and Pipeline
  • 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
    • Object.assign
    • 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
    • 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
  • Con Panna: Composing Class Behaviour
    • Extending Classes with Mixins
    • Functional Mixins
    • Emulating Multiple Inheritance
    • Preventing Property Conflicts
    • Reducing Coupling
  • More Decorators
    • 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
    • Thanks!
    • Reading JavaScript Allongé on Kindle
    • Copyright Notice
    • About The Author
  • Notes

Bundles that include this book

CoffeeScript Ristretto
Kestrels, Quirky Birds, and Hopeless Egocentricity
JavaScript Allongé, the "Six" Edition
3 Books
$46.98
Regular Price
$34.99
Bundle Price
Exploring ES6
JavaScript Allongé, the "Six" Edition
2 Books
$54.99
Regular Price
$44.99
Bundle Price

About the Author

Reg “raganwald” Braithwaite
Reg “raganwald” Braithwaite

When he's not shipping CoffeeScript, JavaScript, Ruby, and Java applications scaling out to millions of users, Reg "Raganwald" Braithwaite creates programming libraries such as Allong.es, Method Combinators, Katy, JQuery Combinators, YouAreDaChef, andand, and others.

He writes primarily about programming. Find out more on his  home page.

Reader Testimonials

Axel Rauschmayer
Axel Rauschmayer

Author, “Exploring ES6"

JavaScript Allongé, the ‘Six' Edition is both a comprehensive tour of its features and a rich collection of techniques for making better use of them. You will learn much about functional programming and object-oriented programming. And you’ll do so via ES

Jarvis Badgley
Jarvis Badgley

Allongé is a must-read book for any JavaScript developer. No single book changed my programming style and the way I approach problems quite like it did.

Daniel Pecos
Daniel Pecos

This book is not the usual Learn the language in 24 hours or something like that. It’s actually a very sharp and deep reading about Javascript and function composition.

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub