“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