JavaScript The Definitive Guide by David Flanagan. 2011, 2020.

By Xah Lee. Date: . Last updated: .

JavaScript The Definitive Guide. 6th Edition. (2011) (the Rhino Book)

js rhino book Flanagan-s250
JavaScript: The Definitive Guide: 6th Edition By David Flanagan. At Buy at amazon

Nearly all of the books about JavaScript are quite awful. They contain errors, poor examples, and promote bad practices. Important features of the language are often explained poorly, or left out entirely. I have reviewed dozens of JavaScript books, and I can only recommend one: JavaScript: The Definitive Guide (5th Edition) by David Flanagan.

— Douglas Crockford JavaScript the Good Parts in his blog at http://javascript.crockford.com/javascript.html

JavaScript books definitive guide vs good parts
JavaScript Definitive Guide vs JavaScript: the Good Parts 〔photo by J L Hamilton, 2015-02. Used with permission. https://x.com/absinthol/status/571002000135086080

This is the most formal and correct JavaScript tutorial, and a comprehensive JavaScript reference.

Am very impressed with this book.

Outdated by today (as of 2013-06-10). It does not cover ES2015, which is necessary.

However, of all old books, this is best.

The book is also written in concrete style. (it just talk about the language. It doesn't talk about “patterns”, or “idiom”, or methodology. 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.

Normally, if you've been programing for a few years, you can quickly start to program in a new lang. You just learn the basics: data types, loops, list/array, function/objects, module, then you can practically code anything you want, albeit in a non-optimal way. But, you'll have a lot questions, especially with complex languages. Questions like scope, evaluation model, and the language's overall “model”. What happens if you do xyz. Understanding these makes you a true expert in that lang. To understand a lang well, is to be able to have a sense of a mathematical model of the language.

(and almost all modern langs are quite complex, including Java, Python, Ruby. Now, JavaScript is easy to use, but it turns out it's quite complex too actually, the hairy details of its prototype inheritance. Very few languages have simple models (Mathematica, Lisp, do)) (a language with a simple model, would be one that its syntax and semantics can be specified in just a handful of rules.)

David Flanagan drills down on the real tech detail of JavaScript language. And the book is really good. (i've read the book cover to cover few times now.)

JavaScript Definitive Guide 2020

New edition:

JavaScript Definitive Guide 2020 XGGCb
JavaScript Definitive Guide 2020 XGGCb

The Cost of Complex Language

JavaScript books and people [id-0592]