Buy new:
-33% $30.17
$3.99 delivery July 9 - 14
Ships from: WÖLF
Sold by: WÖLF
$30.17 with 33 percent savings
List Price: $44.99
$3.99 delivery July 9 - 14. Details
Or fastest delivery July 7 - 9. Details
Only 2 left in stock - order soon.
$$30.17 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$30.17
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
WÖLF
WÖLF
Ships from
WÖLF
Sold by
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt. You may receive a partial or no refund on used, damaged or materially different returns.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$10.99
Get Fast, Free Shipping with Amazon Prime FREE Returns
Book in good condition. Cover is in good condition. Binding is tight. No writing in book. Pages are crisp and clean with no markings. Ships direct from Amazon! Book in good condition. Cover is in good condition. Binding is tight. No writing in book. Pages are crisp and clean with no markings. Ships direct from Amazon! See less
FREE delivery Saturday, July 5 on orders shipped by Amazon over $35
Or Prime members get FREE delivery Wednesday, July 2. Order within 8 hrs 47 mins.
Only 1 left in stock - order soon.
$$30.17 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$30.17
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript (Effective Software Development Series) 1st Edition

4.6 out of 5 stars 229 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$30.17","priceAmount":30.17,"currencySymbol":"$","integerValue":"30","decimalSeparator":".","fractionalValue":"17","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"UpqL2BtxNqNU5jElRIN72dc334BN4AauEfi0cV3GwbwG6TH5uhiqS%2BcUlU4likW4LnQYNs0S9kiWcu4Sj1Snvdt06WmZLWTTNessmWgGDFtLwRETASYVz0eRdXZMPB7wqF1Bo8DAicerfnRUsTFJUp8rVMCroHZNItc5fp%2FsxLlMxY9J%2BWot3xxWaS%2BRjbVT","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$10.99","priceAmount":10.99,"currencySymbol":"$","integerValue":"10","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"UpqL2BtxNqNU5jElRIN72dc334BN4Aau4GA5%2Fdc29Js9s8Dbi5MyZcnpeb16U1g%2BaBucIfVL3haBY9RkCfWOLLjMiK5pdX74hfU6K6yOjDgMBvnnQmw8FK4QPM6pxK5RZaSyEZNYqw809aKeYv2M529YjJz4PKH7rqTGdSLQVg9rR7yGrMrnzFoRcUaOUWmo","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

“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

Editorial Reviews

Review

“Living up to the expectation of an Effective Software Development Series programming book, Effective JavaScript by Dave Herman is a must-read for anyone who wants to do serious JavaScript programming. The book provides detailed explanations of the inner workings of JavaScript, which helps readers take better advantage of the language.”

―Erik Arvidsson, senior software engineer

“Before reading Effective JavaScript, I thought it would be just another book on how to write better JavaScript. But this book delivers that and so much more―it gives you a deep understanding of the language. And this is crucial. Without that understanding you’ll know absolutely nothing whatever about the language itself. You’ll only know how other programmers write their code.

“Read this book if you want to become a really good JavaScript developer. I, for one, wish I had it when I first started writing JavaScript.”

―Anton Kovalyov, developer of JSHint

“If you’re looking for a book that gives you formal but highly readable insights into the JavaScript language, look no further. Intermediate JavaScript developers will find a treasure trove of knowledge inside, and even highly skilled JavaScripters are almost guaranteed to learn a thing or ten. For experienced practitioners of other languages looking to dive headfirst into JavaScript, this book is a mustread for quickly getting up to speed. No matter what your background, though, author Dave Herman does a fantastic job of exploring JavaScript―its beautiful parts, its warts, and everything in between.”

―Rebecca Murphey, senior JavaScript developer, Bocoup

“Effective JavaScript is essential reading for anyone who understands that JavaScript is no mere toy and wants to fully grasp the power it has to offer. Dave Herman brings users a deep, studied, and practical understanding of the language, guiding them through example after example to help them come to the same conclusions he has. 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 JavaScript that I’ll recommend without hesitation.”

―Alex Russell, TC39 member, software engineer, Google

“Rarely does anyone have the opportunity to study alongside a master in their craft. This book is just that―the JavaScript equivalent of a time-traveling philosopher visiting fifth century BC to study with Plato.”

―Rick Waldron, JavaScript evangelist, Bocoup

About the Author

David Herman is a principal researcher at Mozilla Research. He holds a BA in computer science from Grinnell College, and an MS and PhD in computer science from Northeastern University. David serves on Ecma TC39, the committee responsible for the standardization of JavaScript.

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional
  • Publication date ‏ : ‎ November 26, 2012
  • Edition ‏ : ‎ 1st
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 240 pages
  • ISBN-10 ‏ : ‎ 0321812182
  • ISBN-13 ‏ : ‎ 978-0321812186
  • Item Weight ‏ : ‎ 1 pounds
  • Dimensions ‏ : ‎ 6.9 x 0.4 x 9 inches
  • Part of series ‏ : ‎ Effective Software Development
  • Customer Reviews:
    4.6 out of 5 stars 229 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
David Herman
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.6 out of 5 stars
229 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find the book provides good insights into JavaScript's gotchas, with clear explanations and plenty of example code. They appreciate its effectiveness, with one customer noting it's quite useful for beginners.

Select to learn more

47 customers mention "Pacing"43 positive4 negative

Customers appreciate the book's pacing, noting it provides good insights into JavaScript gotchas and is very well explained with plenty of example code.

"...It also is very humble, the sections make the point and pose the advice, and if you don't grok it then you had better revisit it...." Read more

"...68 items may sound a bit cumbersome, but the explanations are very clear and the reading direction is forward - rarely, if at all, do you need to..." Read more

"...This one is definitely one of the better ones. It's a nice easy read that gave me a few new ideas (I get stuck in classical thinking a lot)...." Read more

"...You'll come away possessing a greater intimacy with Javascript...." Read more

4 customers mention "Effectiveness"4 positive0 negative

Customers find the book effective, with one noting it lives up to its standard and another mentioning it is quite useful for beginners.

"From the legendary Effective series, this book is lives up to it's standard. It goes deep into the language in a series of 68 topics...." Read more

"...There are tips and tricks that are very effective and can save you a lot of time in development...." Read more

"...I give it three stars because I believe this book would be quite useful for a tyro, but for anyone that has used the language professionally for..." Read more

"This book reminds me the Effective C++: 55 Specific Ways long time ago, it's easy to follow, very helpful tips, you don't have to read from beg to..." Read more

Soon to be a Classic, Just Like its Namesake
4 out of 5 stars
Soon to be a Classic, Just Like its Namesake
This is clearly an extraordinary book, worthy of its namesake, "Effective Java" by Joshua Bloch, which has attained the status of being "a classic", since its publication in 2001. This book, "Effective Javascript", is sure to attain the same status. It's easy to tell when a subject is being explained to you by someone who understands a subject at its core and is in touch with its essence. With so many books on Javascript (and I've read a lot of them), you come away with the impression that they were written for the sake of being able to say, "I wrote a book", not really giving you better insight into the subject matter. But, those authors apparently felt they could study up on the material and phrase things better than others. Consequently, you come out knowing pretty much what you knew going in, but with just a slightly different slant on the topics. This book, however, is a complete shift in that pattern. You'll come away possessing a greater intimacy with Javascript. Update 7/19/2015: I'm taking away one star, not because of the anything that reflects on the author, or the quality of the content presented, but because the publisher is an inattentive dullard when it comes to making sure the formatting of the Kindle edition is right. Things like (10 + 20) + 30 come out looking like (10 2+0) 3+0. See attached screenshot. It ruins an otherwise great book. My advice to David Herman is, next time you write a book, don't choose Addison-Wesley Professional because they do no honor to an otherwise excellent book.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on October 21, 2013
    Format: KindleVerified Purchase
    Looking for resources to help you maximize your learnings and minimize your
    time use is often fruitless. Publishing deadlines cut books short, real life
    gets in the author's way, and personal preference, well there isn't much you
    can do about that. In many ways, this book is an oddity.

    The voice is at ease, nothing is crammed down your throat and it doesn't feel
    like he was slamming caffeinated beverages just to get it done. It is refreshing
    being the recipient of an exposition that not only teaches you, but questions
    you, and sets expectations of you and what you should learn. The book is broken
    up into 68 different lessons, and it ends up being a perfect approach. It gives
    you time to pick it up when you are free and dig as deep as you want. It also
    is very humble, the sections make the point and pose the advice, and if you
    don't grok it then you had better revisit it. Again, it makes for peaceful and
    pleasant reading, without sacrificing the seriousness or even urgency of the
    valuable points contained within.

    Books like this are few and far between, at least when it comes to industrial
    concerns. This book is a gem for the JavaScript technology, because it poses
    the technology for thoughtful grownups instead of obsessing over the 24h
    tricks, recipes of the week, and "one way to do it right", it will be a timeless
    contribution that will always be valued.

    Just like the author said, it is not for new learners of the language, it is for
    experiences programmers who have gotten through the first 80% and now want to
    master the remaining 80%.

    On the Kindle it looked great, text, code, and pictures.

    In my eyes, this is the missing manual that should have gone out with
    ECMA-262. 5/5
    9 people found this helpful
    Report
  • Reviewed in the United States on March 8, 2014
    Format: KindleVerified Purchase
    Although it's been around for almost 20 years, JS doesn't have a well established standard - the gap between different hosting environments and other important issues are not covered by ECMAScript specification.
    JS is a very powerful and dynamic language to begin with, which without correct guidance may lead you to
    fundamental mistakes, struggling with unanticipated, untraceable bugs and inefficient computing.

    I find this book to be the 'missing guide' on how to bridge over these gaps and level up your knowledge of JS.

    This book covers 68 principles of JavaScript programming in an intelligent, concise and clear manner.
    It focuses mainly on pitfalls and best practices to avoid them by writing better, robust code.

    68 items may sound a bit cumbersome, but the explanations are very clear and the reading direction is forward - rarely, if at all, do you need to hop back and forth between items to understand what you're currently reading.

    The items span several topics:

    * general JavaScript idioms - this is not a beginner's introduction, but more of a review over the language strengths and weaknesses

    * variable scopes - best practices regarding global objects and other scope concerns

    * functions - the identity of functions as traditional functions, methods and closures. how to use them properly in terms of context ('this' object)

    * objects/prototypes - the identity of objects as classes/interfaces - proper prototyping and inheritance

    * arrays - how to leverage standard Array API and common pitfalls

    * API design - tips on how to write a concise and unambiguous API (be it for public use or your own code base)

    * concurrency - guidelines for writing asynchronous functions properly and a brief description of Promises.
    5 people found this helpful
    Report
  • Reviewed in the United States on June 23, 2013
    Format: KindleVerified Purchase
    I have programmed in C, C++, Clipper(remember DBase?), Fortran, Java (since beta), Groovy, Python,TCL, basic, PHP, and Javascript. Those are just the ones I can remember right now. I have read many programming books over the years. This one is definitely one of the better ones. It's a nice easy read that gave me a few new ideas (I get stuck in classical thinking a lot). Unlike most programming books I sat down and read it from cover to cover (on a Kindle app... so I guess from 0 to 100 percent would be more accurate). The book in general does a good job of representing the true essence of the Javascript language. I think it is important to understand a languages perspective in order to use them effectively. This book lives up to its name.
  • Reviewed in the United States on October 10, 2014
    Format: PaperbackVerified Purchase
    This is clearly an extraordinary book, worthy of its namesake, "Effective Java" by Joshua Bloch, which has attained the status of being "a classic", since its publication in 2001. This book, "Effective Javascript", is sure to attain the same status.

    It's easy to tell when a subject is being explained to you by someone who understands a subject at its core and is in touch with its essence. With so many books on Javascript (and I've read a lot of them), you come away with the impression that they were written for the sake of being able to say, "I wrote a book", not really giving you better insight into the subject matter. But, those authors apparently felt they could study up on the material and phrase things better than others. Consequently, you come out knowing pretty much what you knew going in, but with just a slightly different slant on the topics.

    This book, however, is a complete shift in that pattern. You'll come away possessing a greater intimacy with Javascript.

    Update 7/19/2015: I'm taking away one star, not because of the anything that reflects on the author, or the quality of the content presented, but because the publisher is an inattentive dullard when it comes to making sure the formatting of the Kindle edition is right. Things like (10 + 20) + 30 come out looking like (10 2+0) 3+0. See attached screenshot. It ruins an otherwise great book. My advice to David Herman is, next time you write a book, don't choose Addison-Wesley Professional because they do no honor to an otherwise excellent book.
    Customer image
    4.0 out of 5 stars
    Soon to be a Classic, Just Like its Namesake

    Reviewed in the United States on October 10, 2014
    This is clearly an extraordinary book, worthy of its namesake, "Effective Java" by Joshua Bloch, which has attained the status of being "a classic", since its publication in 2001. This book, "Effective Javascript", is sure to attain the same status.

    It's easy to tell when a subject is being explained to you by someone who understands a subject at its core and is in touch with its essence. With so many books on Javascript (and I've read a lot of them), you come away with the impression that they were written for the sake of being able to say, "I wrote a book", not really giving you better insight into the subject matter. But, those authors apparently felt they could study up on the material and phrase things better than others. Consequently, you come out knowing pretty much what you knew going in, but with just a slightly different slant on the topics.

    This book, however, is a complete shift in that pattern. You'll come away possessing a greater intimacy with Javascript.

    Update 7/19/2015: I'm taking away one star, not because of the anything that reflects on the author, or the quality of the content presented, but because the publisher is an inattentive dullard when it comes to making sure the formatting of the Kindle edition is right. Things like (10 + 20) + 30 come out looking like (10 2+0) 3+0. See attached screenshot. It ruins an otherwise great book. My advice to David Herman is, next time you write a book, don't choose Addison-Wesley Professional because they do no honor to an otherwise excellent book.
    Images in this review
    Customer image
    14 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • specificityy
    5.0 out of 5 stars Great book for turning you into an effective JS developer
    Reviewed in the United Kingdom on July 16, 2017
    Format: PaperbackVerified Purchase
    Nice and easy read, I loved this book. If you're beginning with JavaScript, you'll find the concepts will really help you master the language, but even if you're experienced, there are most likely stuff here you didn't know before, and in some parts you'll find yourself saying: "I knew that worked like that, but didn't know why!". This book is a must read for every JS developer out there.
  • Fukei
    4.0 out of 5 stars Une saine lecture
    Reviewed in France on June 2, 2014
    Format: PaperbackVerified Purchase
    Cet ouvrage s'adresse à un public qui connaît déjà javascript mais qui ne sait pas toujours "pourquoi là ça marche et pourquoi là ça marche pas" et qui souhaite approfondir sa connaissance du langage.

    Il lève le voile de manière très compréhensible sur les bizarreries, pardon, les particularités, de ce langage qui, quotidiennement, nous amènent à nous tirer une balle dans le pied. Les conversions implicites, les portées de variables, les méthodes fréquemment utilisées mais non-standard... ce genre de blagues. Les explications sont étayées d'exemples nombreux, d'idiomes salvateurs et elles vous permettront éventuellement de clouer le bec au grincheux qui trouve que jshint est un dictateur obscurantiste.

    Comparé à "Secrets of the javascript ninja" que j'ai feuilleté, ce livre me semble moins pointu mais plus accessible et finalement plus utile au quotidien. Il n'aborde ni jQuery, ni aucun autre framework "récent", par contre il traite d'ecmascript 5.

    La mise en page est agréable à lire, les exemples utilisent la coloration syntaxique avec les "choses à retenir" en fin de chapitre. Si je devais formuler un reproche, c'est que face à la profusion d'exemples, on se dit parfois "tl;dr, je lis juste la liste à retenir".
    Report
  • Srk
    5.0 out of 5 stars Excellent Book on javascript
    Reviewed in India on July 18, 2019
    Format: KindleVerified Purchase
    Does not matter if you are newbie to JS or experienced programmer, this book is worth reading. It collectively has all the good parts and the pitfalls of the language. Must read for a JS programmer
  • Dietmar König
    5.0 out of 5 stars Good Value for Money
    Reviewed in Germany on February 3, 2014
    Format: PaperbackVerified Purchase
    If you have come from other programming languages to Javascript, then this book is for you. In a very concise manner, "Effective JavaScript" explains the special JavaScript paradigma, shows you how to do things "the JavaScript Way" and tells you about the pitfalls on the way.
    Although coders relatively fresh to JavaScript will gain most from the book, I would also recommend it for more seasoned developers who might still learn aspects of the language they didn't so far know, or re-learn about pitfalls once known but hence forgotten.
    All-in-all a typical book for the "Effective ..." range.
  • Igor T. Ghisi
    5.0 out of 5 stars Direto ao ponto
    Reviewed in Brazil on July 26, 2014
    Format: KindleVerified Purchase
    O livro aborda boas práticas de programação em JavaScript, cobrindo as nuances em relação a outras linguagens. O capítulo sobre Concurrency é obrigatório para qualquer um que queira implementar código de forma mais profissional. Também oferece uma abordagem bastante pragmática em relação a orientação a objetos, que mostra importantes particularidades nesta linguagem.