DEV Community

Cover image for Book Club: Eloquent Javascript - Chapter 1

Book Club: Eloquent Javascript - Chapter 1

Alex Kharouk on July 03, 2021

I recently did a technical job interview that was for a frontend position. It was for a company that specialised in cybersecurity technologies, but...
Collapse
 
peerreynders profile image
peerreynders • Edited

You may be interested in undefined vs. null revisited.

In Chapter 2 pay particular attention to:

When a binding points at a value …
.
You should imagine bindings as tentacles, rather than boxes. They do not contain values; they grasp them—two bindings can refer to the same value.

It's a subtlety that lots of people overlook about the language and the reason why that section prefers the term binding over the more commonly used variable.

MDN: Primitive:

All primitives are immutable, i.e., they cannot be altered. It is important not to confuse a primitive itself with a variable assigned a primitive value. The variable may be reassigned a new value, but the existing value can not be changed in the ways that objects, arrays, and functions can be altered.

Collapse
 
kharouk profile image
Alex Kharouk • Edited

These are some fantastic follow-ups, thanks for sharing. I'm almost done chapter two and I have noticed how the author particularly references bindings. It's a good way of looking at it.

Collapse
 
ashishk1331 profile image
Ashish Khare😎

I would say go through "You don't know JS" by Kyle Simpson also, if you want to excel and make a firm grip over JS. I loved the books and the syllabus and it is most informative.

Collapse
 
kharouk profile image
Alex Kharouk

Yes Ashish, I've been meaning to read that series too. Perhaps after I finish Eloquent Javascript! Would you recommend reading the older books or wait until Kyle has finished writing the new editions?

Collapse
 
peerreynders profile image
peerreynders

The 1st Edition books (other than ES6 & Beyond) are ES5.1 based and are due to JavaScript's backward compatibility still relevant. That said ES2016 through ES2022 have added capabilities (also ES5 to ESNext) some of which will have an impact on the 2nd Edition. While modern JavaScript may have de-emphasized some pre-ES2015 features and practices, fundamental JavaScript behaviour hasn't changed - there is just more of it. Short of being deprecated outright, one also has to be careful of assuming that older features are displaced. For example all too often people seem to ignore promises (ES2015) because of the introduction of async functions (ES2017) when understanding promises makes it much easier to understand potential issues with async/await (Creating a JavaScript promise from scratch, await vs return vs return await).

FYI: Before diving into async programming (i.e. before Chapter 11) make sure to watch The Event Loop - perhaps multiple times; after the chapter read Tasks, microtasks, queues and schedules and perhaps watch Scheduling Tasks - HTTP 203.

In my opinion the biggest impact of ES2015 wasn't classes but modules. I'm not suggesting to ignore classes but I do believe they are often over-emphasized (How to decide between classes v. closures in JavaScript). An awful lot can be accomplished with just functions, objects and modules - i.e. don't assume that everything has to be a class by default, use them when they provide tangible value.

Some other resources that may be worthy of attention at some point of time:

This isn't a must read list, more like - there is something of value here. But be prepared to live in the MDN Web Docs.

Interestingly with its 1000+ pages PJfWD4e still doesn't get into the ubiquitous parts of the tool chain like npm, node.js, bundlers etc. Given how quickly the ecosystem moves anything beyond online docs and short tutorials just gets stale way too quickly. Unfortunately Modern JavaScript Explained For Dinosaurs is getting a bit long in the tooth (and I would only recommend webpack if the relevant framework ecosystem standardized on it).

Practice as much as you can by taking advantage of places like exercism or codewars.

Thread Thread
 
ashishk1331 profile image
Ashish Khare😎

Man! Very nice of you for sharing your experience and laying path for us. Thanks for sharing!

Collapse
 
ashishk1331 profile image
Ashish Khare😎

If you want I have first edition set as pdf. Second edition will take time to complete, in present I think only two books are out.

Collapse
 
cenacr007_harsh profile image
KUMAR HARSH

I would love to read your summaries as I don't have enough time to read the whole book now but I always wanted to read this book.

Collapse
 
kharouk profile image
Alex Kharouk

Thanks Kumar! Will try to do it justice then.

Collapse
 
usenmfon_uko profile image
Usenmfon

I have recently started out on chapter one of the book. Its a great piece I must say, and your summary is spectacular. Great job 👍

Collapse
 
kharouk profile image
Alex Kharouk

Thanks a lot @usenmfon_uko ! Hopefully we both finish the book and learn something new together.

Collapse
 
aalphaindia profile image
Pawan Pawar

Good one!