Carved In Stone: Immutables in JavaScript

Immutability – the idea that you should never work with “live” data, is slowly transforming the way that programmers work with objects, data and streams. From reducing hidden variables in functions to making database programming simpler to reducing the chance for difficult to find bugs to make its way into your code, immutability is becoming […]


What are ES6 generators useful for?

Easily one of the weirder new constructs within the new ES6 spec, the ES6 generator answers a perplexing question: What would happen if you stopped a loop in the middle of its execution, went off and did something else for a while, then came back? It turns out that you can actually do quite a bit. […]


History and Background of JavaScript Module Loaders

Introduction Application logic for web apps continues to move from the back end to the browser. But as rich client-side JavaScript apps get larger, they encounter challenges similar to those that old-school apps have faced for years: sharing code for reuse, while keeping the architecture separated into concerns, and flexible enough to be easily extended. […]

javascript logo

Why do ES6 Classes exist and why now?

In 1995, Sun Microsystems started developing a new language internally called Oak. It bore a striking resemblance to C++, most notably in the use of classes. A class was a fairly radical concept at the time; it packaged up modules of functions that had previously been in loose libraries, and then let programmers create “objects” […]


An Array of JavaScript Array Methods

JavaScript Array Methods Table of Contents: Avoiding the Index Prepositional Soup: From In to Of The Joy of Higher Order Functions How Do Your Arrays Stack Up? Pop! It is no real surprise that one of the primary purposes of computer languages is processing lists (indeed, one of the oldest programming languages – Lisp – is […]