JavaScript Books Review 2018

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, 2018

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.

Consider my treatment as JavaScript Spec for practical programers.

Exploring JavaScript, 2018

exploring es6 a6704
Exploring ES6

http://exploringjs.com/

by Dr. Axel Rauschmayer

He writes a series of books. Speaking JavaScript covers JavaScript basics, and a new thick book Exploring ES6 on ES2015, and little books on ES2016, and on wards.

Of all JavaScript book/references i've read for ES2015+, i like his best, because it's in depth.

Though, often too wordy, and takes lots time to read through.

It is best if you already have few years of JavaScript coding experience.

Microsoft JavaScript Tutorial and Reference

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

Understanding ECMAScript 6, 2018

Understanding ECMAScript 6 2018 72n83
Understanding ECMAScript 6 https://leanpub.com/understandinges6

By Nicholas C Zakas.

This book covers ES2015 only. You'll need another book to cover pre-es2015 JavaScript.

Nicholas was yahoo's lead developer in 2000s.

His books, he likes to view things from “design patterns” perspective. Everything is explained in “Programing Patterns” way of talk.

If you think programing in “design patterns” style, it may be for you.

You Don't Know JS

https://github.com/getify/You-Dont-Know-JS

by Kyle Simpson.

I haven't looked into his book.

Eloquent JavaScript

Eloquent JavaScript 3rd ed Marijn Haverbeke 93661
Eloquent JavaScript 3rd ed Marijn Haverbeke

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

also available free at http://eloquentjavascript.net/

This is for beginners. e.g. you never programed before.

If you are not beginner, it's too many words, and written in a story-telling style.

Marijn Haverbeke, the author, has written JavaScript parser/analyser in JavaScript, very popular. • https://github.com/marijnh/ternhttps://github.com/marijnh/acorn

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

JavaScript Definitive Guide (rhino book), 2011

JavaScript Definitive Guide by David Flanagan
JavaScript Definitive Guide by David Flanagan

JavaScript Definitive Guide by David Flanagan. Buy at amazon

Outdated by today. 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.

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

JS: the Good Parts, 2008

[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 http://www.jslint.com/.

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, 2012

This is outdated today. There's a new edition, but by different author.

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 https://www.nczonline.net/

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

JavaScript Garden

JavaScript Garden at http://bonsaiden.github.io/JavaScript-Garden/

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

BAD.

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”) Yes, their “re-introduction”, is bad.

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

http://www.w3schools.com/js/

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

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS in Depth
  4. JS Reference
  5. DOM
  6. SVG
  7. Web Dev Blog