About

Reliable JavaScript Book
Our Book

When JavaScript was just a “scripting language,’ used to handle a button-click here or an adjustment to the DOM there, the principles of sound software engineering didn’t matter. After all, how far wrong can you go in a stand-alone function of 20 lines? Those days are gone. Now that JavaScript has become the cornerstone of many enterprise-class applications, JavaScript development demands the same attention to engineering as its server-side cousins.

Yet, it is even harder to write reliable JavaScript than to write robust programs in C# or Java. Because JavaScript is interpreted, not compiled, certain idioms are common — essential, even — that make it very hard to track down the effect of a change. For example, JavaScript lets us address a property of an object like this: someObject[variableThatContainsAPropertyName]. You can imagine how hard it is to find all places in a hundred-thousand-line application that use the property.

But there is hope! All it takes is awareness of the engineering resources at your disposal, and the discipline to apply them. If you’ve clicked into this page, you are probably eager to meet the challenge. We hope this blog will help.