Buy New
-83% $4.99
$3.99 delivery October 16 - 19
Ships from: Shakespeare Book House
Sold by: Shakespeare Book House
$4.99 with 83 percent savings
List Price: $29.99
Only 1 left in stock - order soon.
$$4.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$4.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Returns
30-day refund/replacement
30-day refund/replacement
Quick refund
Usually issued within 24 hours. See exceptions
Shipping fee
May apply, not eligible for free return. See details
Convenient dropoff
At any of our 50,000 US locations.
See return policy
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
$5.83
Fast Free Shipping – Very Good condition book with a firm cover and clean pages. Shows normal use and some light wear or limited notes markings. A solid, nice copy to enjoy. Fast Free Shipping – Very Good condition book with a firm cover and clean pages. Shows normal use and some light wear or limited notes markings. A solid, nice copy to enjoy. See less
Only 5 left in stock - order soon.
$$4.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$4.99
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.
Ships from and sold by GREENWORLD BOOKS.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
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

  • JavaScript: The Good Parts

Follow the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Something went wrong. Please try your request again later.

JavaScript: The Good Parts


{"desktop_buybox_group_1":[{"displayPrice":"$4.99","priceAmount":4.99,"currencySymbol":"$","integerValue":"4","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"RiOD%2BWJ9FhDApYfyxYErhYuQZaxENv0BLqlLKXUASsFRitMUX%2BiVrJGXEWVWE6ldPilTCcyo0c6bSTMQFZpKcK2dAWlVUkMBwMsW9tLd589WJa1b90Ckc2ik1fOnaxA1ux7YXXi%2B%2FmO2QnI%2BKpUW4xh0iCm0C2ZbfVQWrH%2B84Q%2FDIUSr%2Bcv6yJs1kJnZc5nc","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$5.83","priceAmount":5.83,"currencySymbol":"$","integerValue":"5","decimalSeparator":".","fractionalValue":"83","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"RiOD%2BWJ9FhDApYfyxYErhYuQZaxENv0B5DbRexBNaW99PctjYbDkJzkmCvRGnr%2B%2BXO%2BqFvH%2BAATMaEnWgJZxj5LGGPqfwxPyeSmWaX98wZVlvv7kYlvYOyR2NndpUoLHETlaJG7R8jLhqCeuKZk1UZJFpAJsmiuIGHskBhdllGD40JS2EjcBM7FS21aCmNZs","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole--a subset you can use to create truly extensible and efficient code.

Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.

When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:

  • Syntax
  • Objects
  • Functions
  • Inheritance
  • Arrays
  • Regular expressions
  • Methods
  • Style
  • Beautiful features

The real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.

With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

Frequently bought together

This item: JavaScript: The Good Parts
$10.57
Get it as soon as Sunday, Oct 25
Ships from and sold by Amazon.com.
+
$38.99
Get it as soon as Saturday, Oct 17
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$13.65
Get it as soon as Saturday, Oct 17
Only 14 left in stock (more on the way).
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Customers also bought or read

Loading...

From the brand


From the Publisher

From the Preface

This is a book about the JavaScript programming language. It is intended for programmers who, by happenstance or curiosity, are venturing into JavaScript for the first time. It is also intended for programmers who have been working with JavaScript at a novice level and are now ready for a more sophisticated relationship with the language. JavaScript is a surprisingly powerful language. Its presents some challenges, but being a small language, it is easily mastered.

My goal here is to help you to learn to think in JavaScript. I will show you the components of the language and start you on the process of discovering the ways those components can be put together. This is not a reference book. It is not exhaustive about the language and its quirks. It doesn't contain everything you'll ever need to know. That stuff you can easily find online. Instead, this book just contains the things that are really important.

This is not a book for beginners. Someday I hope to write a JavaScript: The First Parts book, but this is not that book. This is not a book about Ajax or web programming. The focus is exclusively on JavaScript, which is just one of the languages the web developer must master.

Editorial Reviews

About the Author

Douglas Crockford is a Senior JavaScript Architect at Yahoo!, well known for introducing and maintaining the JSON (JavaScript Object Notation) format. He's a regular speaker at conferences on advanced JavaScript topics, and serves on the ECMAScript committee.

Product details

About the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Douglas Crockford
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Douglas Crockford is the author of How JavaScript Works. He has been called a JavaScript Guru, but he is more of a Mahatma. He was born in Frostbite Falls, Minnesota, but left when he was only six months old because it was just too damn cold. He has worked in learning systems, small business systems, office automation, games, interactive music, multimedia, location-based entertainment, social systems, and programming languages. He is the inventor of Tilton, the ugliest programming language that was not specifically designed to be an ugly programming language. He is best known for having discovered that there are good parts in JavaScript. That was the first important discovery of the Twenty First Century. He also discovered the JSON Data Interchange Format, the world’s most loved data format.

Customer reviews

4.4 out of 5 stars
1,476 global ratings

Customers say

Customers consider this JavaScript book one of the most important ever written, praising its concise writing style and ability to steer readers away from language weaknesses. Moreover, the book provides a good overview of the language, highlighting key concepts and pitfalls, and customers find it easy to read, with many completing it in two short sittings. However, opinions are mixed regarding its suitability for beginners, with some finding it good for novices while others say it's not appropriate for beginners. Additionally, customers disagree on the book's value for money.
AI Generated from the text of customer reviews

Select to learn more

377 customers mention content, 290 positive, 87 negative
Customers praise the content of the book, describing it as brilliant and one of the most important JavaScript books ever written.
...of the errors, I would give a correctly edited edition of this book five stars for the educational insights sprinkled through it....Read more
...This is a great book to be used by the professional developer that wants to increase his/her ability to produce client-side code that is flexible...Read more
Good book. This is a well-written book with lots of good explanations. I would recommend it to others. Just my two cents.Read more
Hits and misses, opinionated, a bit out of dateRead more
80 customers mention readability, 56 positive, 24 negative
Customers find the book easy to read and understand, with several mentioning they can finish it in two sittings, and one customer noting it can be read in an evening.
...Straightforward, clear, and to the point. Seems to assume that you've written some other code before, and the use of railroad charts is kinda weird....Read more
...The author is easy to read and gets right to the point. I would recommend this to anyone who is thinking of using JavaScript....Read more
You can be sidetracked from the tiny size of this book, but is not a simple reading....Read more
...to truly understand JavaScript, hate it less, or even love it, read this book.Read more
70 customers mention writing quality, 55 positive, 15 negative
Customers praise the writing quality of the book, noting its wonderful presentation and concise style, helping readers learn how to write good JavaScript code.
Concise, highly informative, easy to read. A really good book that goes into the entrails of JS. Highly recommended.Read more
Handles things that have given me trouble in the past. Well written, mostly, with good diagrams that make it a good reference work.Read more
Good book. This is a well-written book with lots of good explanations. I would recommend it to others. Just my two cents.Read more
...had", others said the information was poorly organized and not written very well. Others complained about his ego getting in the way....Read more
49 customers mention language, 39 positive, 10 negative
Customers appreciate the book's language, which provides a good overview and highlights key concepts while identifying pitfalls in the language.
...that under the festering pile of chaos there is a beautiful and elegant language: the good parts....Read more
...but this book remains an excellent introduction to the language. It is concise, informative, and a very quick read....Read more
...The author obviously knows his stuff. The language flows well and is logically organized....Read more
JavaScript is not an easy language. That's not a big secret. The author, however, does a great job explaining the key parts of the language....Read more
42 customers mention usefulness, 39 positive, 3 negative
Customers find the book useful and practical, describing it as an important resource that can be used as a reference.
Helpful for folks like myself without a ton of classic CS training but has a lot of exposure to JavaScript over the years....Read more
This book has been very helpful. I had a java script project to do and this book got me started.Read more
Very helpfullRead more
...engineer and his views on the subject come across as very pragmatic, practical and informative....Read more
32 customers mention length, 23 positive, 9 negative
Customers appreciate the length of the book, describing it as remarkably brief.
I just finished this book. It's relatively short but you have to invest a lot of hours to properly absorb it....Read more
This book is awesome. Title says everything. Book is quite short but very valuable, because it contains only important informations....Read more
...10. It is short and does not teach you anything about JS, but pretty much sums why adding every single library you can is probably a terrible idea.Read more
...The book isn't that long, but somehow it covers many important topics for its length.Read more
38 customers mention suitable for beginners, 14 positive, 24 negative
Customers have mixed opinions about the book's suitability for beginners, with some finding it good for novices and every developer should read it, while others say it isn't suitable for beginners.
...The author says it is not for beginners, but if I were teaching the language this would be the core text on the reading list....Read more
Great book for beginners!Read more
...The introduction explains that this is not a book for beginners, which is true, because beginning programmers would find most of Chapters 3, 4, and...Read more
...For the advanced user it's just too basic....Read more
23 customers mention value for money, 12 positive, 11 negative
Customers have mixed opinions about the book's value for money, with some finding it well worth the read while others consider it not a lot of added value.
...Definitely worthwhile if you work with javascript on a regular basis and well worth a read if you're just curious about the ins and outs of...Read more
...methods; this feels like stuff I'd just google while coding, not terribly valuable to me personally....Read more
Good quality and good price with free shippingRead more
...What a waste of money. I wish he had actually tried to teach JavaScript through a set of tutorials....Read more
Purchased at new price and received used
2 out of 5 stars
Purchased at new price and received used
Bought new. Received used.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • 5 out of 5 stars
    For me this book is perfect. I have a lot of experience developing production ...
    Reviewed in the United States on November 8, 2015
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    For me this book is perfect.

    I have a lot of experience developing production applications using C/C++ in the past. I started learning JavaScript and found it easy to get started with. The online tutorials do a good job of exposing the syntax and basic concepts. Javascript is not interpreted C/C++, I found that it more resembled LISP the way it was used. I was definitely confused by the language (what is with all this function within a function stuff?) and I wanted to understand how the language works (literally how it is implemented).

    Douglas clarified the concepts for me and now I feel more confident understanding how to use JavaScript. Also, he points out some major pitfalls, e.g. understanding how Arrays work is key to using them.

    This book is NOT for beginners to programming.

    This book is very opinionated on what the core language constructs are and how to use them and avoid the other parts.

    This book is small but quite dense. I must have re-read some sections 5-6 times along with gathering other sources and running through some online examples. Probably depends on your background and level of experience with JavaScript but the concepts were pretty new to me.

    Chapters 4&5 really get to the meat of JavaScript.

    The book is an excellent reference and recommend owning it if you want to do serious programming with JavaScript.

    Also, you can find Crockford on youtube quite easily. I went through his excellent series here: https://www.youtube.com/watch?v=JxAXlJEmNMg&list=PL7664379246A246CB

    Enjoy!

    Update: Note: I have purchased 3 O'Reilly books in the last couple of months. Each one of them has literally fallen apart. I will be reading a page and the page will come out of the binding. I am fairly gentle on the books so I think there is a binding problem at O'Reilly.

    27 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 4 out of 5 stars
    Excellent book - for the right audience
    Reviewed in the United States on October 2, 2012
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    I just finished this book. It's relatively short but you have to invest a lot of hours to properly absorb it. I think I'm going to need one more pass.

    I do not understand the majority of complaints. Some compare Crockford to "the most boring professor you ever had", others said the information was poorly organized and not written very well. Others complained about his ego getting in the way. I, for one, found it to be very interesting and useful. Parts of it were a struggle to get through (and I've been a C coder for 20+ years) but mental challenges are a software engineer's specialty.

    In my opinion, none of the complaints are completely true, assuming you are the right audience. This book is NOT for beginners. If you are relatively new to Javascript, it will definitely be useful, but if you are new to programming entirely, this book is not for you. This is a more academic book that gives you a peek behind the scenes to the inner workings of the Javascript language. It is more comparable to K&R's book for C Programmers, but not as complete (just the "good" and "awful" parts!).

    It is a book about the Javascript LANGUAGE. It is NOT a book on web programming. It will NOT teach you anything about HTML, or the DOM, or how to put little fiddlly-bits on the screen, or how to work out game physics, or how to use any HTML-specific components. It is a book on the constructs of Javascript, plain and simple. It should NEVER be the only book on Javascript you would own, but if you are serious about Javascript, it should definitely be in your library. I don't think you can be a Javascript master without this book.

    My minor grievances are mostly limited to subjective areas where I disagree with him:

    1) He states his opinion absolutely, more so in the first part of the book. I prefer a less forceful approach that presents the arguments and lets you decide for yourself. However, I do not feel he went overboard in this regard as some did - I suspect they didn't get very far into the book.

    2) While I completely understand the Javascript bugaboo that makes a case for mis-aligned curly braces (K&R style). I cannot get myself to follow this convention (except in a few areas where I make exceptions) To me, code is SO much easier to follow when all blocks are aligned. I will heed his advice and avoid the lurking JS bug, but I will not fully convert to misaligned braces. I resent that his JSLint tool generates hundreds of errors in my code because of this - but fortunately, there's an option to turn it off.

    3) When he digs into some of the JS-specific patterns that aren't familiar to non-JS programmers, I wish he would add a disclaimer along the lines of "while this is a powerful tool, understand that depending on such patterns may make the code more difficult to maintain by others less trained in the specifics of Javascript. Or at least comment vigorously." I am a firm believer in "clarity over cleverness" in shared code.

    4) In some of the trickier subjects, a few more examples would makes things easier to comprehend. I've never really used Regular Expressions before, and the chapter left my head swimming, and I felt the explanation of the various components of the expressions could have been better.

    But these are not major grievances, and I whole-heartily recommend this book for the intermediate Javascript user or the novice JS user who has a solid background in general programming language constructs.

    6 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Wish I had this book when I first started Javascript
    Reviewed in the United States on June 27, 2008
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Do you struggle when creating objects in Javascript?

    Do you find the syntax to be non-intuitive and frustrating?

    Do you know the difference between using a function as an object vs using an object literal?

    Do you know how using object literals can simplify your code and create something similar to namespaces?

    Do you know how to augment the type system -- for example, if wanted all strings to have a trim() method?

    Do you know why the "new" statement is so dangerous? Do you know an alternative that eliminates the use of "new" entirely?

    These are some of the topics that the book touches upon.

    This book is aimed at someone with intermediate programming experience that wants to know the best way to create and use objects, arrays, types, etc. Crockford takes his experience with Javascript to show you best practices coding techniques and styles to use with Javascript. In addition, the book provides insights into what makes Javascript so confusing and what can be done about it.

    You might ask "Isn't this stuff already covered in other books that I have?" The answer is no. For one, most other books use a psuedo-classical coding style (see below) to explain objects that is a source of confusion.

    Javascript can be very confusing, especially for programmers who have extensive experience in other C-based languages (like myself). Writing good Javascript that uses objects, methods, etc. is hard. In Javascript, if you want to create objects, use inheritance and create methods, you have several different ways to write your code and it's difficult to know what the strengths and weaknesses of each are.

    Crockford explains the problem plainly. Other C-based languages use class inheritance (Crockford calls this classical inheritance). Javascript, on the other hand, is the only popular language that uses prototype inheritance, which does not have classes. However, the syntax which Javascript uses to create object is Java-like (Crockford calls this pseudo-classical syntax). It's confusing, because it keeps you in a class-based frame of mind while working in a language that has no concept of classes.

    Clarifying what's going on with the object model is the best part of this book. Crockford also explains other parts of Javascript that can be problematic and the techniques that he prefers for handling them. I don't necessarily agree with all of them, but the important thing is that he explains his reasoning.

    To effectively learn Javascript, I recommend that you buy 1) a book that covers the details of the language and can be used as a reference (e.g. Javascript, the Definitive Guide) and 2) Crockford's book. Advanced programmers might also enjoy Pro Javascript Design Patterns, which shows a number of ways to combine Javascript with some of the GoF patterns. I would avoid any cookbook style books on Javascript, because you're better off using YUI, JQuery or one of the other Javascript libraries than writing your own drag-and-drops, calendars, etc.

    There are a series of Yahoo! videos by Crockford that mirror the material in this book and can be found as podcasts under YUI Theater. They contain nearly all of the material in the book and probably a little more. Those videos are:

    - Douglas Crockford/An Inconvenient API: The Theory of the DOM (3 parts)

    - Douglas Crockford/The JavaScript Programming Language (4 parts)

    - Douglas Crockford/Advanced JavaScript (3 parts)

    - Douglas Crockford/Javascript The Good Parts

    589 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Small, but dense
    Reviewed in the United States on March 2, 2009
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    When it comes to JavaScript, Douglas Crockford is "The Man". When it comes to browsers, JavaScript is "The Language". "JavaScript: The Good Parts" should be read - and comprehended - by every web developer, regardless of their programming proficiency.

    This slim volume contains the essence of the JavaScript language. It is not concerned with the inner workings of JavaScript, nor is it a "Learn JavaScript in a Fortnight" type of book. It is more a meta-JavaScript guide of style, pointing out features and usage not available elsewhere, except perhaps at his website, "Douglas Crockford's Wrrrld Wide Web" ([...]

    Those new to the language may find this book to be like James Joyce's "Ulysses" - that is, incomprehensible. The use of closures, self-reference and passing functions as parameters to other functions takes some time to grasp fully. The end result is worth the time invested: you will be a better programmer for having digested the information provided by Mr. Crockford. Heck, you will be a better programmer even if you don't grok everything put forth in the book.

    As the inventor and promoter of JSON, short for "JavaScript Object Notation", Mr. Crockford deserves much praise. JSON is a data interchange format made up of a JavaScript object. There are implementations of JSON for many other languages (visit the aforementioned web site for details). While not strictly a replacement for XML, JSON is as readable, requires no external parser to implement and can be operated on directly in any browser that supports JavaScript, and the major ones do.

    I must admit, I am an addicted JavaScript programmer. I found Douglas Crockford many years ago, and while he does not know me, he has mentored me and brought forth a deeper understanding of JavaScript that also applies to programming in general. Comments, the use of whitespace, blank lines; these are things not often found in a web application.

    I strive to always be a Good Programmer, and when I find myself slipping into old, bad habits, now I have a book to lift my spirits and show me the way.

    Yes, "JavaScript: The Good Parts" is that good.

    8 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Sound advice on coding to Javascript's strengths rather than fighting them
    Reviewed in the United States on October 7, 2009
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    This book is another in the series of books lately reclaiming Javascript as a powerful language that hasn't gotten it's due (see Stefanov's book for another good example). Crockford makes a great case for Javascript not needing to please the crowd of class based languages and instead using it's prototype functional roots to their max to achieve similar ends (code reuse, inheritance, private data..). His examples showing how to do class styled coding in javascript (though using prototypes in the inside, as that what the language has to offer) followed by a more pure object to object prototyping really sends the point across in comparing elegance and benefits of the latter over the former within Javascript's rules.

    I found chapter 5 on the inheritance techniques to be way harder than the other chapters in the book. But after digesting some of it, I proceeded on to the next chapters. They did not build on it so much as they were covering other domains of the language, so it's not a show stopper to understand the rest of what crockford is after to show you which are of course "the good parts" in the other domains (regular expressions, built in objects...). I return to the fifth chapter periodically to further understand everything that's going on there and pick up something else each time.

    It was also nice to have the "avoid this" opinion sections entitled "awful parts" and "bad parts". While some may be disputable, it's good to get a heavyweight's reasons on why to avoid them if possible.

    The code is usually light and nicely explained. The errata in the oreilly site patch up the few oopsies here and there. I feel definitely more energized to write prototype based Javascript and learn some Ajax libraries without being afraid to peak in at their source if need be now and then.

    4 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 4 out of 5 stars
    Important book now more than ever but also a bit dated
    Reviewed in the United States on April 5, 2014
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    First of all this book is very good for what it is; describing the genesis of the Javascript language, why things work the way they do, and how to make the best use of its good features and what to avoid. I wish I had this information 10 years ago as it would have helped me a lot but better late than never.

    The drawbacks of this book (and the reason I gave it 4 rather than 5 stars) is that it really shows that it was written in 2008, before node.js and the MEAN stack were a serious platform and has a very browser-centric focus. For example, the code samples all alert rather than logging or printing to console, and there is basically no discussion about how to modularize code for really large, long-lived projects. The author shows how you can add many useful features to the language like memoization, currying, and cascading functions but not what libraries are available for this - does it really make sense for every developer to write their own implementations of these things? He explains how Javascript arrays work, and what the native methods are but doesn't give the runtime complexity of them. All in all the book kind of assumes a single developer writing only a moderate amount of code for use in a web page and so misses other considerations that go into writing server applications.

    I don't mean this as a severe criticism (I did give the book four stars), but I think an updated revision might be called for to address the new ways in which people are using Javascript today.

    13 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Opened My Eyes To JavaScript
    Reviewed in the United States on April 8, 2013
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Like many old-school Programmers (with capital P), I always felt JavaScript was a "messy" language with horrible browser implementations and poorly planned, incompatible DOMs. I knew enough of it to get by - but just barely so. But I first began to reconsider my position when I saw projects like jQuery and their elegant solutions. It got me interested enough that I decided it was time to get better informed about "modern day" JavaScript.

    Well, this book completely turned me around on the language. It not only sold me on the idea that JavaScript can be treated as a serious language, but also on the idea that it's actually better suited for a variety of tasks. JavaScript can be elegant and powerful in ways that more traditional languages can't. The beauty of this book is that it argues the case by creating a subset of JavaScript through selective use of features and voluntary syntax conventions. This book also manages to do it simply and concisely, eschewing the usual introductory, filler type stuff found in most programming books. It jumps into the meat and goes through it so fast, I read it in two relatively short sittings. And I've re-read it on occasion just as a refresher which is something I can say of very, very few technical books.

    I highly recommend this book for anyone who works with JavaScript or is considering it. I'd also recommend it to those steeped in traditional, compile-time focused, OO languages as a way to understand the power of a more dynamic language. In fact, given how short it is, I'd really recommend it to any programmer regardless of their current or past language of choice.

    6 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 3 out of 5 stars
    Some good data, but scattered and inconsistent, unclear who it's written for.
    Reviewed in the United States on January 20, 2011
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    I'm a long-time C, C++, and Java programmer (videogames, predominantly) learning Javascript to do some web work, so I picked up this book because the reviews were good and the notion appealed to me - learn the subset of this rather sloppy language that you can use as a good language.

    My TL;DR version of the review: this book is a hodgepodge of different information about the language, but some of it is so complicated it'll go immediately over the heads of new programmers, and then some of it is so mundane (even pedantic, talking about very specific aspects of coding styles) it felt goofy and out of place. It seems to me that any specific individual reading this book won't really find more than one or two chapters very relevant. I give it 3 stars because the useful parts were useful to me, but I skimmed and ignored 80+% of the book.

    Crockford's writing is personable and clear, and the book's organization is straightforward. Here's my chapter-by-chapter breakdown. Note that this is all from my perspective, what I personally found useful or not, but my point is, while other readers will certainly disagree with me about what was useful, I have trouble imagining any one person finding more than about 20% of the book useful.

    Chapter 1 is an introduction and high-level explanation of the point of the book.

    Chapter 2 covers basic grammar and the likes, which was helpful though it's not aimed at any particular familiarity with other languages so it's trying to be comprehensive, which meant that as an experienced programmer in other languages I had to skim it and just look for differences with what I'm already used to.

    Chapters 3 and 4 were the most useful parts of the book for me: the section on objects and functions, data scoping and closure, which really takes a new way of thinking if, like me, you have a lot of experience with languages without closure and anonymous functions and the like. Crockford does a good job of explaining this and giving relevant examples. This section was 20% of the book and was the only section I found really useful.

    Chapter 5 covers inheritance. He presents two methods, one using new and constructors like one of the languages I'm more used to, and gives a couple reasons to avoid this, and then digs into the prototypal method, which is unfamiliar to me. The problem is that he uses totally abstract examples here - classes representing animals and methods that return their names or the noises they make - and it was very hard for me to relate it to any actual application, and since the prototypal style is a fundamentally different paradigm I don't feel like I really grasped it from his writing. Since he builds a framework of extension methods throughout the book, once I started to lost his train of logic I was utterly lost. And the "meta" nature of javascript, assigning functions to methods that return other functions that wrap functions, I found it easy to get lost.

    Chapter 6 covers arrays. If you've used scripting languages this stuff is very simplistic, a stark change from Chapter 5, which is quite sophisticated. Again, my point here - I don't know who would simultaneously understand Chapter 5 and still find anything in Chapter 6 useful.

    Chapter 7 is a significant change of direction; it's a long chapter on regular expressions which I skimmed very quickly since I know them from using perl. This part seemed odd, since regular expressions are common to several languages, and there's nothing particularly unique about javascript's usage of them. It felt a bit misplaced in this book. Certainly they're an important part of the language, but again made me wonder: who's the book for?

    Chapter 8 is a reference for core API functionality and his extension methods; this feels like stuff I'd just google while coding, not terribly valuable to me personally.

    Chapter 9 is a diversion on coding style, and felt wildly out of place and kind of insulting: if this book is for a seasoned programmer this is just going to trigger unpleasant flashbacks to arguments you had back when you were a junior programmer. If you're a new programmer and this stuff is news to you, other chapters in the book are going to be utterly incomprehensible to you.

    Chapter 10, "The Beautiful Parts," is all of a page long, but a nice summary of the good aspects of the language.

    Appendices A and B cover some of the "Awful & Bad Parts" of javascript in detail; this was the second-most interesting part of the book to me, though it's brief and you've picked it up if you read the rest of the book. Still, definitely value here. Though worth noting: he inserts some more editorializing here, ala Chapter 9 - he calls out some things that aren't specific to javascript, like switch statement fallthrough, as bad parts, which I found annoying. Stick to aspects unique to javascript and point out real dangers instead of offering advice on very broad aspects of coding style, I kept thinking.

    Appendix C is about JSLint, the lint for javascript. It was useful only in the sense that I didn't know JSLint existed, and now I do, but then he gives a long swath of what amounts to JSLint documentation, which I have to imagine exists on the JSLint site, and felt like filler.

    Appendix D is about JSON and just some reference information about the format. Maybe useful, but no authorial insight, just docs.

    Overall, glad I read it, but I was pretty underwhelmed given the generally great reviews of the book on here.

    255 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

Top reviews from other countries

    Translated by Amazon
    See original
  • 5 out of 5 stars
    Uno dei migliori libri di JavaScript
    Reviewed in Italy on September 14, 2026
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Uno dei migliori libri su JavaScript

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

    Translated from Italian by Amazon
    See original
  • 5 out of 5 stars
    Ezzes vom Javascript-Guru
    Reviewed in Germany on February 12, 2010
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Ein rundum gelungenes Werk von Javascript-Guru, das trotz seiner schlanken Gestalt für viele Stunden Lesevergnügen sorgte.

    In den wenigen Seiten ist soviel Wissen destilliert und in minimalistische Code-Beispiele gegossen, dass man jedes Kapitel gerne nochmals liest, um auch ja alles "mitzunehmen".

    Javascript: The Good parts beginnt mit der Geschichte von Javascript und seinem Aufstieg von einer Verlegenheitslösung zur vielleicht wichtigsten Skriptsprache der Welt. Doch dann ist die Schonfrist vorbei: schonungslos zerpflückt Crockford die ohnehin spärliche Javascript-"Standardbibliothek" bzw. Syntax und erklärt anschaulich, warum ==, typeof und Co besser nicht mehr verwendet werden sollten. Auch die missglückte prototype/class-Inheritance von Javascript bekommt ihr Fett ab.

    Aus den wenigen Resten, den good parts, zaubert Crockford aber erstaunliches: er erläutert, wie sich Klassen, Vererbung, Module oder funktionale Programmierung mit einfachsten Mitteln in Javascript emulieren lassen. Sehr gut finde ich, dass er den Bereich der DOM-Manipulation komplett außen vor läßt. Als hochperformante Programmiersprache hat sich Javascript längst von den typischen Rollover-Skriptchen emanzipiert, die in anderen Werken noch den Blick aufs Wesentliche verstellen.

    Insgesamt eine sehr empfehlenswerte Lektüre für den fortgeschrittenen Javascript-Entwickler.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

    Translated from German by Amazon
    See original
  • 5 out of 5 stars
    JavaScript the language, presented for professional programmers
    Reviewed in the United Kingdom on February 3, 2009
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    In this small and dense book you will find JavaScript guru Douglas Crockford's presentation of the beautiful subset of a language that lies within JavaScript as a whole. You can use this subset to write serious programs. Occasionally you might have to use some of what Crockford calls "the bad parts", but at least you'll know the dangers, and how to mitigate them.

    Perhaps more importantly, Crockford is very, very aware of how JavaScript differs from classical OO languages, and how these differences can and do trip up classically trained programmers, coming from (say) C++, C# or Java backgrounds. Crockford goes out of his way to point out the differences and the new way of thinking that is required for JavaScript.

    This book is not necessarily going to be an easy read, even for professionals. Crockford says so himself in the preface. It's dense and terse. By necessity it introduces terms that might be confusing at first, and which are only explained later. You have to read the whole book, patiently waiting for certain concepts to be explained, and for things to fall into place. On a re-read it all begins to make real sense. I do recommend that this book is read at least twice, preferrably three times. At least it's short!

    There is not much to do with the web in this book. There's no DOM manipulation examples, and no Ajax calls. You will find no discussion of modern JavaScript libraries. Crockford just focusses on his area of expertise: the JavaScript language. He highlights and promotes the good parts, and in appendices talks about the "Awful" and merely "Bad" parts.

    This is an important book. Crockford writes with the authority, seriousness and simplicity of K&R. To be a modern web developer you really need to know what you're doing with respect to JavaScript. Look to other books to discuss JavaScript libraries, the DOM, animation effects and Ajax. Look to this book for the starting point to all that: the JavaScript language itself, weird and wonderful, familiar yet strange, bad parts and (fortunately) good parts.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Classic, Invaluable.
    Reviewed in Canada on April 18, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    I would not forgive myself if I did not write a review for this book. This is one of the best books I have ever read in my entire life. It does not only help me grasp and love Javascript, but also greatly improved my understanding the way of how to do better programming. As a programmer, if you have not read this book, you missed a very good part. So, if you want to learn Javascript, this is definitely the right book to read.

    Like the author said, This book is small, but it is dense. It is very hard to understand some pages in the first read. I read every pages at least 3 times, some pages more than 10 times to get the idea fully. But the effort definitely got rewarded.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    useful tips. I could relate to the possible pitfalls ...
    Reviewed in India on June 19, 2015
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Many examples and real life proven, useful tips. I could relate to the possible pitfalls of Javascript.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.