JavaScript Books Review

By Xah Lee. Date: . Last updated: .

Here's a list of JavaScript books and my review.

JavaScript books definitive guide vs good parts
JavaScript Definitive Guide Buy at amazon vs JS: the Good Parts Buy at amazon 〔photo by J L Hamilton, . Used with permission. Source

Not just printed books, but also online resources.

The question is not what format, but the quality of content.

Xah JavaScript in Depth

First, here's mine. Xah JavaScript in Depth

I've written many programing language tutorials. This one, i'm most proud of. In correctness and in depth. (i'm more famous for my Xah Emacs Tutorial and Practical Emacs Lisp tutorial. )

I write in “formal language” style. That is, concrete, pertaining to the language, and just the language, like a math exposition. No design patterns or software engineering/methodology point of view, and no compiler jargons such as {reference, pointer, garbage collection}. No “idiom” chat or “philosophy”. And, code examples for every point.

Thanks for checking it out.

JavaScript Definitive Guide (rhino book)

JavaScript Definitive Guide by David Flanagan. Buy at amazon

This is the best. For the past decade, and still is, even it's been 4 years since the 6th edition.

The book is also written in concrete style. (it just talk about the language. It doesn't talk about “patterns”, or “idiom”, or “best way”. Rather, it gives you facts about the language, and with practical tips, so you really understand the core.)

The book can be divided into 3 parts.

Full review at JavaScript Book by David Flanagan, and Man-made Complexity in Computer Language

JS: the Good Parts

[JS: the Good Parts By Douglas Crockford. @ Buy at amazon ]

Good book, old fashioned (it still uses Syntax diagram of the 1990s), but is too short.

This book covers only JavaScript the language.

Bad part: No DOM coverage. DOM is actually the more complex part of web development. DOM is far more complex than whatever quirks JavaScript has.

Douglas Crockford is responsible for bringing JavaScript into the limelight as a respectable language. He is the inventor of JSON. [see JS: JSON] Crockford is also famous for his JavaScript style validator at

Crockford is a old fashioned programer, as can be seen by his age. He is also adamant about his style and opinions. He is, rather anti- trends and fashion. Older programers often have seen it all, current thinking come and went. I pay attention to what he says.

see also: JS: Douglas Crockford the Better Parts: the Bads Parts Reconsidered

Professional JavaScript for Web Developers

Professional JavaScript for Web Developers By Nicholas C Zakas
[Professional JavaScript for Web Developers By Nicholas C Zakas. @ Buy at amazon ]

This is a excellent book.

Good: for more experienced frontend wed dev who are familiar with “design patterns”. Covers both JavaScript and DOM.

This book takes design patterns approach. Also, the book uses terms such as “references” to explain JavaScript concepts, even though JavaScript the language does not really expose that concept.

see JavaScript, Design Patterns Appoach to Computer Language Tutorials

Because of the Design Patterns approach, i really dislike this book, however, it has solid material, covering both the language and DOM completely.

Nicholas C Zakas was a lead developer at Yahoo.

Nicholas C Zakas has a blog at

Nicholas C Zakas has other JavaScript books, they are all advanced.

Eloquent JavaScript Modern Introduction to Programming

[Eloquent JavaScript Modern Introduction to Programming By Marijn Haverbeke. @ Buy at amazon ]

also available free at

This one is aimed at beginner programers. So, it's extremely verbose. Written in a story-telling style.

Good: for beginners.

Bad: too much beginner stuff if you already know a language.

Here's its table of contents:

  1. Introduction
  2. (Part 1: Language) Values, Types, and Operators
  3. Program Structure
  4. Functions
  5. Data Structures: Objects and Arrays
  6. Higher-order Functions
  7. The Secret Life of Objects
  8. Project: Electronic Life
  9. Bugs and Error Handling
  10. Regular Expressions
  11. Modules
  12. Project: A Programming Language
  13. (Part 2: Browser) JavaScript and the Browser
  14. The Document Object Model
  15. Handling Events
  16. Project: A Platform Game
  17. Drawing on Canvas
  18. HTTP
  19. Forms and Form Fields
  20. Project: A Paint Program
  21. (Part 3: Node) Node.js
  22. Project: Skill-Sharing Website

Marijn Haverbeke, the author, has written JavaScript parser/analyser in JavaScript, very popular.,

Microsoft JavaScript Guide and Tutorial

[JavaScript Fundamentals By Microsoft. At , accessed on 2015-10-02 ]

This is Microsoft's offering. Quality material. Professionally written. Excellent.

If you are a JavaScript beginner, but have some programing experience, i recommend it.

Microsoft also has JavaScript reference:

[JavaScript Reference By Microsoft. At , accessed on 2015-10-02 ]

JavaScript Garden

〈JavaScript Garden〉 at

This is a short coverage of JavaScript's quirky parts, a compendium from StackOverflow.

This is very short. One single long page of 90k bytes. If you already work as a front-end web developer, then it's a good read. It covers the many problematic parts of JavaScript.

Mozilla JavaScript Tutorial


Mozilla's JavaScript tutorials are wiki. Meaning, it's written by any user. It has versions since 2005 or so. The content changes over the decade, also the site has gone several re-organization of the url (changing URL).

It is pretty bad, confusing, incoherent, inconsistent, sometimes downright incorrect. (or “this section is empty”)

Mozilla's references on {HTML, CSS, DOM, JavaScript} are often the best. Usually, they have the most up-to-date info with respect to browsers, available nowhere else. When coding web, just Google search and hop to Mozilla's page.

w3schools JavaScript Tutorial

Hacker type of programers hate this site.

If you are a web designer, no coding experience, and wants to learn some basics of JavaScript, then w3schools is good.

The w3schools, is the most popular site for web programing related material. Mostly, HTML, CSS.

w3schools is aimed at average coders who just need to get something done quickly, and not worrying about correctness or “the right way”.

w3schools doesn't cover anything in detail. It just present the most simple answers for most common case scenarios, for absolute beginners who don't know what they are doing.

Sometimes, w3schools can really help you find out what's the real basics on complex web tech, because other sites are too many jargons and pedantic.

Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

Patreon me $5. Ask me question on patreon