Mark Daggett's Blog

Innovator & Bricoleur

Introducing Expert JavaScript

As many of you know I have spent much of the last six months writing a book on JavaScript. I am pleased to announce that last week APress began shipping it out to stores and distribution centers everywhere.

In my mind, good technical books are part mixtape, treasure map, and field journal. "Expert JavaScript" is the result of my efforts to successfully weave these forms together into a compelling and information-rich book about JavaScript. A mixtape, for those old enough to remember, is a curated collection of songs. These tapes were often made as gifts for friends, lovers, and those in between. The mixer would craft the tape by selecting personal favorites or organizing tracks along a conceptual thread. Often these tapes were a surrogate for the mixer, a way to be remembered by the listener when the tape was playing. This book is a mixtape for JavaScript that I made for you. These chapters cover some of my favorite aspects of the language, but also includes less-understood topics because they are not easily explained in a tweet or blog post. The long form format of a book affords these subjects the necessary room to breathe.

As a child, I found the idea of finding a treasure map a thrilling prospect. I was captivated by the idea that anyone could become rich as long as they followed the map. This book will not lead you to buried treasure, but it is a map of sorts. I laid out these chapters to chart the inner workings of the language, which you can follow to the end. Dig through these concepts with me and you will unearth a deeper understanding of JavaScript than when you started.

A field journal is kept by scientists. They are taught to keep a log of their thoughts, observations, and hunches about their subject. They may even tape leaves, petals, or other artifacts of nature between its pages. It’s a highly contextual diary about a subject of study filtered through a specific point of view. The purpose of the field journal is to be a wealth of information that the scientist can continually mine when they are no longer in the field.

"Expert JavaScript" is my field journal of JavaScript, which I wrote to return to often. I will use it to help me remember and understand the particulars of the language. I encourage you to do the same. Scribble in the margins, highlight sections, and bookmark pages. It is not a precious object; it is meant to be a living document that is improved through your use.

Table Of Contents (with comments)

  • Chapter 1: Objects and Prototyping (What JavaScript is and isn’t)
  • Chapter 2: Functions (Deep dive into functions including changes in es6)
  • Chapter 3: Getting Closure (Understanding the dark arts of closures)
  • Chapter 4: Jargon and Slang (lexical border guards to the community)
  • Chapter 5: Living Asynchronously (promises, coroutines, webworkers)
  • Chapter 6: JavaScript IRL (nodebots, JohnnyFive, node-serialport, firmata )
  • Chapter 7: Style (understanding programmatic style)
  • Chapter 8: Workflow (sensible workflow for JavaScript developers)
  • Chapter 9: Code Quality (how to evaluate and improve quality in code)
  • Chapter 10: Improving Testability (what really makes code "untestable," hint it’s not the code)

Like this post, then you'll love my book on JavaScript.

Expert JavaScript is your definitive guide to understanding how and why JavaScript behaves the way it does. Master the inner workings of JavaScript by learning in detail how modern applications are made. In covering lesser-understood aspects of this powerful language and truly understanding how it works, your JavaScript code and programming skills will improve.