JavaScript Allongé: A strong cup of functions, objects, combinators, and decorators

Front Cover
Justin Kelly, Oct 4, 2013 - Computers - 245 pages

JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls.

There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered.

When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail.

You need to understand why the directions work so that you can understand how to modify them to work properly at or beyond their original limitations. That’s where JavaScript Allongé comes in.

JavaScript Allongé is a book about programming with functions, because JavaScript is a programming language built on flexible and powerful functions. JavaScript Allongé begins at the beginning, with values and expressions, and builds from there to discuss types, identity, functions, closures, scopes, and many more subjects up to working with classes and instances. In each case, JavaScript Allongé takes care to explain exactly how things work so that when you encounter a problem, you’ll know exactly what is happening and how to fix it.

Second, JavaScript Allongé provides recipes for using functions to write software that is simpler, cleaner, and less complicated than alternative approaches that are object-centric or code-centric. JavaScript idioms like function combinators and decorators leverage JavaScript’s power to make code easier to read, modify, debug and refactor, thus avoiding problems before they happen.

JavaScript Allongé teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down. As a result, JavaScript Allongé is a rich read releasing many of JavaScript’s subtleties, much like the Café Allongé beloved by coffee enthusiasts everywhere.

License: CC BY-SA 3.0

Source is available from Github
* https://github.com/justinkelly/javascript-allonge

 

Contents

The Recipe Cheat Sheet
36
Recipes with Basic Functions
39
Rebinding and References
50
Recipes with Rebinding and References
75
Objects Mutation and State
87
Recipes with Objects Mutations and State
110
Instances and Classes
118
Recipes with Instances and Classes
143
Sequence
159
New Ideas
163
Recipes for New Ideas
204
The Golden Crema
221

Common terms and phrases

About the author (2013)

Reginald Braithwaite @reganwalk
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.

Bibliographic information