Rediscovering JavaScript
I am currently reading Rediscovering JavaScript.
For me, when I want to deepen my understanding of a language or framework, my goto is usually a book on the topic. Right away, I’ll usually open up VIm and start playing around with code, which is fun and feels rewarding, but there’s something about reading that helps me to understand the inner workings and make sense of things faster. For that reason, I’m a long time advocate of The Rails Way, by Obie Fernandez.
Over the years I’ve wrote a lot of Javascript, and felt that I had a pretty decent grasp of the language. That was until I picked up a copy of Javascript, The Good Parts by Douglas Crockford and quickly realised that my understanding of the language was just at the tip of the iceberg. That book is full of little nougats of wisdom.
Similarly with ES6, I’ve been soaking up bit and pieces from blog posts, documentation, and day to day development, but I wanted a good book to deep-dive.
I am a long time fan of Pragmatic Bookshelf, and Rediscovering JavaScript by Venkat Subramaniam was receiving good reviews online. He writes well and in typical Pragmatic fashion, everything is cemented with a piece of code and some exercises at the close of the chapter.
The first section of the book points out may JS gotchas, but provides safe new alternatives that will steer you in the right direction.
The second section is concerned with new additions to the language, covering topics such as Iterators & Symbols, arrow functions and destructuring.
The third section covers OO and modular code, and defines how to properly use classes In Javascript.
The fourth and final sections digs a little deeper into Metaprogramming.
I enjoyed reading this book. It wasn’t a “cover to cover in one sitting” type of book, much like all programming books, but I did find myself learning something new every time I dived in. Venkat provided clear and concise snippets of code with real-world examples. If you read this book, you will not only write better Javascript, but you will and also get a better understanding for the evolution of the language.