Douglas Crockford starts by looking at the fundamentals: names, numbers, booleans, characters, and bottom values. JavaScript’s number type is shown to be faulty and limiting, but then Crockford shows how to repair those problems. He then moves on to data structures and functions, exploring the underlying mechanisms and then uses higher order functions to achieve class-free object oriented programming. The book also looks at eventual programming, testing, and purity, all the while looking at the requirements of The Next Language. Most of our languages are deeply rooted in the paradigm that produced FORTRAN. Crockford attacks those roots, liberating us to consider the next paradigm.He also presents a strawman language and develops a complete transpiler to implement it. The book is deep, dense, full of code, and has moments when it is intentionally funny.
Meh. A colleague recommended this, and the book pitch does read as if it imparts a lot of useful fundamental knowledge. While it does some of that, most of the book reads more like Crockford's personal preferences and opinions.
If you're someone really wanting to understand JavaScript, I'd stay away from this. So much of the book is about how a language better than JavaScript _could_ work, which I'm sure is wonderful for people looking to learn and discuss that, but I'm not there right now.
I have a feeling that "You don't know JS" will be more what I'm looking for, but I haven't yet read it. Can't wait to compare.
Very insightful book, I learned a lot about JS objects/prototypes/inheritance in non OOP language. I enjoyed it, I tolerate the snake_case which is anti standard in JS world. I get the idea of using new words (just to show why the new paradigms are hard to shift, when if they are better), but I don't like the concept of copy pasting whole library code.