Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


“It’s uncommon to have a programming language wonk who can speak in such comfortable and friendly language as David does. His walk through the syntax and semantics of JavaScript is both charming and hugely insightful; reminders of gotchas complement realistic use cases, paced at a comfortable curve. You’ll find when you finish the book that you’ve gained a strong and comprehensive sense of mastery.”

—Paul Irish, developer advocate, Google Chrome

“This is not a book for those looking for shortcuts; rather it is hard-won experience distilled into a guided tour. It’s one of the few books on JS that I’ll recommend without hesitation.”

—Alex Russell, TC39 member, software engineer, Google

In order to truly master JavaScript, you need to learn how to work effectively with the language’s flexible, expressive features and how to avoid its pitfalls. No matter how long you’ve been writing JavaScript code, Effective JavaScript will help deepen your understanding of this powerful language, so you can build more predictable, reliable, and maintainable programs.

Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of JavaScript’s expressiveness. Reflecting the latest versions of the JavaScript standard, the book offers well-proven techniques and best practices you’ll rely on for years to come.

Effective JavaScript is organized around 68 proven approaches for writing better JavaScript, backed by concrete examples. You’ll learn how to choose the right programming style for each project, manage unanticipated problems, and work more successfully with every facet of JavaScript programming from data structures to concurrency. Key features include

  • Better ways to use prototype-based object-oriented programming

  • Subtleties and solutions for working with arrays and dictionary objects

  • Precise and practical explanations of JavaScript’s functions and variable scoping semantics

  • Useful JavaScript programming patterns and idioms, such as options objects and method chaining

  • In-depth guidance on using JavaScript’s unique “run-to-completion” approach to concurrency

Subscriber Reviews

Average Rating: 4.857142857142857 out of 5 rating Based on 7 Ratings

"Great book!" - by Gwyn on 15-JAN-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
There's no doubt that this is a great book full of useful techniques and explanations. It does get quite advanced in later chapters and I would have benefited from a little more experience before tackling these. As an intermediate JavaScript programmer there's a lot to be taken from this book, and perhaps even more to return to later.
Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


These links have been provided by the publisher.

  • Companion Web site