Rediscovering JavaScript
Rediscovering JavaScript
Summary:
Introduction
The book "Rediscovering JavaScript" (author — Venkat Subramaniam, 2018, 286 pages) is not just another syntax reference. It is a deep dive into the philosophy of modern JavaScript, written for those who are already familiar with the language but want to write truly high-quality, concise, and expressive code. The author, known for his work on functional programming and JVM languages, offers a perspective on JavaScript as a powerful, multi-paradigm tool that gained a second wind after the ES6 (ES2015) standard. The book is oriented towards the Node.js runtime environment, but all examples and concepts are also applicable to browser JavaScript.
What This Book Is About
Venkat Subramaniam systematically reveals the key features of modern JavaScript, starting from the basics and moving to advanced techniques. The main focus is on the practical application of new language constructs: arrow functions, destructuring, template strings, classes, modules, iterators, and generators. However, the author does not limit himself to listing features. He explains why a particular feature was added to the language and how its use changes the programming style. Special attention is paid to the functional approach: data immutability, pure functions, composition, and working with collections through the map, filter, reduce methods. The book also touches on topics of asynchrony (promises, async/await) and the ES6 module system.
Who This Book Is For
The book is intended for developers who already have experience with JavaScript (at least at a basic level) and want to transition to the modern standard. It will be useful for:
- programmers migrating from ES5 to ES6+;
- developers from other languages (Java, C#, Python) who want to understand idiomatic JavaScript;
- those who want to write cleaner, more maintainable, and concise code;
- anyone interested in functional programming in the context of JavaScript.
What the Reader Will Learn
After reading the book, the reader will be able to:
- confidently use arrow functions and understand how they differ from regular ones;
- apply object and array destructuring for cleaner code;
- work with template strings and tagged templates;
- use classes and inheritance, understanding their prototypal nature;
- organize code using ES6 modules (import/export);
- write asynchronous code using promises and async/await without callbacks;
- use iterators and generators to work with data sequences;
- apply functional array methods (
map,filter,reduce,find, etc.) for data processing without mutations; - understand the principles of immutability and pure functions;
- avoid common pitfalls and anti-patterns.
Strengths
The main advantage of the book is its practical focus and depth. Each chapter contains many small but illustrative code examples that can be immediately tried out in Node.js. The author not only shows how to write but also explains how not to write, providing "bad" examples and then correcting them. The writing style is lively, with a touch of humor, making reading engaging. The book is small (286 pages) but very dense in content — there is no "fluff." Special mention should be made of the chapters on functional programming: they provide a clear understanding of how to apply these concepts in real projects without falling into academic formalism.
Who It Is Recommended For
I highly recommend this book to all JavaScript developers who feel that their code has become "messy" or that they are using outdated approaches. It is ideal for those who want to systematize their knowledge of the modern standard and learn to write elegant, expressive code. If you have already read several tutorials on ES6 but feel