Introduction
In the previous two chapters, you learned about some of the core concepts of JavaScript, were introduced to the ideas of the event
loop, and looked at how JavaScript handles the process of memory management. In this chapter, we'll look at those aspects of the language in more detail and learn how we can write code that works in concert with some underlying features of JavaScript.
It is common for developers to get quite far in their careers without having a solid understanding of some of the core concepts underlying (and surrounding) JavaScript. Indeed, it's quite possible to be a successful developer who writes solid, commercially viable applications, without ever fully grasping the topics that are covered in this chapter.
So, why should we learn about the inner workings of JavaScript? Can't we just write our code and let JavaScript handle the nitty-gritty? Well, the problem with that approach is that, sometimes, things don't quite go according...