Buy New
-83%
$4.99$4.99
$3.99 delivery October 16 - 19
Ships from: Shakespeare Book House Sold by: Shakespeare Book House
Used - Very Good
$5.83$5.83
FREE delivery October 19 - 21
Ships from: GREENWORLD BOOKS Sold by: GREENWORLD BOOKS
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.
Follow the author
OK
JavaScript: The Good Parts
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.
- ISBN-100596517742
- ISBN-13978-0596517748
- EditionFirst Edition
- PublisherO'Reilly Media
- Publication dateMay 1, 2008
- LanguageEnglish
- Dimensions6.9 x 0.39 x 9 inches
- Print length172 pages
Frequently bought together

Customers who viewed this item also viewed
- How JavaScript WorksPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Oct 17
- JavaScript: The Definitive GuidePaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Oct 17Only 1 left in stock - order soon.
- Eloquent JavaScript, 4th EditionPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Oct 17
- JavaScript: The Definitive Guide: Master the World's Most-Used Programming LanguagePaperbackFREE Shipping by AmazonGet it as soon as Saturday, Oct 17Only 1 left in stock (more on the way).
- Javascript: a QuickStudy Laminated Reference GuidePamphletFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Oct 17
- Eloquent JavaScript, 3rd Edition: A Modern Introduction to ProgrammingPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Oct 17Only 14 left in stock (more on the way).
Customers also bought or read
- JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language
Paperback$38.99$38.99FREE delivery Sat, Oct 17 - Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming
Paperback$13.65$13.65Delivery Sat, Oct 17 - HTML and CSS: Design and Build Websites#1 Best SellerCSS Programming
Paperback$14.94$14.94Delivery Sat, Oct 17 - JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages
Paperback$28.99$28.99Delivery Sat, Oct 17 - Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide
Paperback$38.00$38.00FREE delivery Sat, Oct 17 - Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript (Effective Software Development Series)
Paperback$32.21$32.21Delivery Sat, Oct 17 - JavaScript Patterns: Build Better Applications with Coding and Design Patterns
Paperback$13.42$13.42Delivery Sat, Oct 17 - Learning TypeScript: Enhance Your Web Development Skills Using Type-Safe JavaScript
Paperback$36.99$36.99FREE delivery Sat, Oct 17 - Effective TypeScript: 83 Specific Ways to Improve Your TypeScript
Paperback$41.33$41.33FREE delivery Sat, Oct 17 - JavaScript Pocket Reference: Activate Your Web Pages (Pocket Reference (O'Reilly))
Paperback$11.72$11.72Delivery Sat, Oct 17 - Full Stack Web Development: A Comprehensive, Hands-On Guide to Building Modern Websites and Applications (IBPA Gold Award Winner) (Rheinwerk Computing)
Paperback$44.80$44.80FREE delivery Sat, Oct 17 - A Smarter Way to Learn JavaScript. The new tech-assisted approach that requires half the effort
Paperback$14.05$14.05Delivery Sat, Oct 17 - JavaScript and jQuery: Interactive Front-End Web Development
Paperback$22.28$22.28Delivery Oct 25 - 28 - Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly))
Paperback$22.96$22.96Delivery Sat, Oct 17 - JavaScript Crash Course: A Hands-On, Project-Based Introduction to Programming
Paperback$27.40$27.40Delivery Sat, Oct 17 - Tour of C++, A (C++ In-Depth Series)#1 Best SellerC++ Programming Language
Paperback$39.68$39.68FREE delivery Oct 23 - 25 - React Key Concepts: An in-depth guide to React's core features
Paperback$23.71$23.71Delivery Sat, Oct 17 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Sat, Oct 17 - Grokking Algorithms, Second Edition: An illustrated guide for programmers and other curious people
Paperback$37.81$37.81FREE delivery Oct 27 - Nov 3
From the brand
-
Explore JavaScript resources
-
Explore TypeScript
-
Node.js
-
More from O'Reilly
-
Sharing the knowledge of experts
O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
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
- Publisher : O'Reilly Media
- Publication date : May 1, 2008
- Edition : First Edition
- Language : English
- Print length : 172 pages
- ISBN-10 : 0596517742
- ISBN-13 : 978-0596517748
- Item Weight : 2.31 pounds
- Dimensions : 6.9 x 0.39 x 9 inches
- Best Sellers Rank: #368,671 in Books (See Top 100 in Books)
- #17 in Functional Software Programming
- #57 in JavaScript Programming (Books)
- #166 in Web Design (Books)
- Customer Reviews:
About the author

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.
Related products with free delivery on eligible orders
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Generated from the text of customer reviewsSelect to learn more
Reviews with images
Purchased at new price and received used
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, 2015For 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 4 out of 5 stars
Excellent book - for the right audience
Reviewed in the United States on October 2, 2012I 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Wish I had this book when I first started Javascript
Reviewed in the United States on June 27, 2008Do 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Small, but dense
Reviewed in the United States on March 2, 2009When 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 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, 2009This 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 4 out of 5 stars
Important book now more than ever but also a bit dated
Reviewed in the United States on April 5, 2014First 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Opened My Eyes To JavaScript
Reviewed in the United States on April 8, 2013Like 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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 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, 2011I'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 helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Top reviews from other countries
Gianmarco5 out of 5 starsUno dei migliori libri di JavaScript
Reviewed in Italy on September 14, 2026Uno dei migliori libri su JavaScript
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Franz5 out of 5 starsEzzes vom Javascript-Guru
Reviewed in Germany on February 12, 2010Ein 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.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
A Reader5 out of 5 starsJavaScript the language, presented for professional programmers
Reviewed in the United Kingdom on February 3, 2009In 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.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Jeff5 out of 5 starsClassic, Invaluable.
Reviewed in Canada on April 18, 2016I 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.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Metzger5 out of 5 starsuseful tips. I could relate to the possible pitfalls ...
Reviewed in India on June 19, 2015Many 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.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
























